ami*_*thk 10 .net self-hosting autofac asp.net-web-api owin
我有一个使用Microsoft.AspNet.WebApi.OwinSelfHost的简单项目.这是一个Owin自托管WebApi 2项目.该项目非常类似于: -
https://github.com/attilah/AngularJSAuthentication
我唯一的区别是我的安全模块是在单独的程序集中(一切类似于上面的项目).我使用Autofac来解决我的依赖关系.
当没有Autofac时,这个项目有效.但是,一旦我尝试使用相应的安全模块和Autofac设置我的项目,我面临的是这个错误: -
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)
Run Code Online (Sandbox Code Playgroud)
我的配置非常受这个帖子的启发: -
依赖注入无法与Owin自托管Web Api 2和Autofac一起使用
此外,我发现其他人在努力解决Autofac的这种依赖性问题,并且能够通过重新安装Microsoft.AspNet.WebApi.WebHost来解决类似的问题:
在Web API 2和.NET 4.5.1迁移之后,GlobalConfiguration.Configure()不存在
但这对我不起作用我不知道为什么.我试过从头开始重新安装一切也没有帮助.除了Autofac在重新安装时还有几个权限问题这一事实.
有人有这个错误的经验吗?请帮忙.谢谢!
ami*_*thk 24
我设法在上面的线程中通过@ user998660的评论帮助修复了这个依赖性问题.
我做的是:
5.2.3.05.2.0.0.我需要一种方法告诉我的应用程序使用较新的版本5.2.3.0而不是5.2.0.0.这是我需要添加到我的Web.config的<assemblyBinding>部分:
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.0.0" newVersion="5.2.3.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13545 次 |
| 最近记录: |