.net Autofac错误:无法加载文件或程序集';System.Web.Http,版本=5.2.0.0,…';我的项目是Owin WebApi2 SelfHost
我有一个使用Microsoft.AspNet.WebApi.OwinSelfHost的简单项目。这是一个Owin自托管WebApi 2项目。该项目非常类似于:- 我唯一的区别是我的安全模块是在单独的组件中(与上述项目类似)。我使用Autofac解决依赖关系 这个项目在没有Autofac的情况下工作。但是,一旦我试图用相应的安全模块和Autofac设置我的项目,我所面临的就是这个错误:-.net Autofac错误:无法加载文件或程序集';System.Web.Http,版本=5.2.0.0,…';我的项目是Owin WebApi2 SelfHost,.net,asp.net-web-api,autofac,owin,self-hosting,.net,Asp.net Web Api,Autofac,Owin,Self Hosting,我有一个使用Microsoft.AspNet.WebApi.OwinSelfHost的简单项目。这是一个Owin自托管WebApi 2项目。该项目非常类似于:- 我唯一的区别是我的安全模块是在单独的组件中(与上述项目类似)。我使用Autofac解决依赖关系 这个项目在没有Autofac的情况下工作。但是,一旦我试图用相应的安全模块和Autofac设置我的项目,我所面临的就是这个错误:- Could not load file or assembly 'System.Web.Http, Vers
Could not load file or assembly 'System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
我的配置非常受此线程的启发:-
此外,我还发现有其他人在与Autofac的此依赖性缺陷作斗争,并通过重新安装Microsoft.AspNet.WebApi.WebHost解决了类似问题:
但这对我不起作用,我不知道为什么。我已经尝试过从头开始重新安装所有东西,但也没有用。此外,Autofac在重新安装时也存在一些权限问题
有人有过这种错误的经验吗?请帮忙。谢谢 在中@user998660的注释帮助下,我成功地解决了这个依赖性问题 我所做的是:
- 我右键单击了项目引用中的assembly System.Web.Http
- 我注意到我的项目引用的汇编版本是
5.2.3.0
- 从上面的错误中,我知道Autofac正在尝试引用System.Web.Http版本
。我需要一种方法告诉我的应用程序使用较新的版本5.2.0.0
,而不是5.2.3.0
5.2.0.0
部分的内容:
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.0.0" newVersion="5.2.3.0" />
</dependentAssembly>
打开托管nuget软件包以获得解决方案,并安装最新的Microsoft Asp.net Web Api 2.2,这解决了我的问题。有时,.nuget还原可能会出现问题。。虽然成功签入后,在.nuget.config文件中将disableSourceControlIntegration设置为false可以解决此问题。
add key=“disableSourceControlIntegration”value=“false”我可以确认为我解决的问题也对我有帮助。您应该将此标记为答案。我所要做的就是将
元素更新为@amitthk发布的内容。谢谢如果您使用Nuget Package Manager,它将在再次安装WebApi包时为您修复它。