问题
安装Microsoft ASP.NET Web API OData软件包5.0.0-rc1预发行版后,出现以下异常:
无法加载文件或程序集'System.Web.Http,版本= 4.0.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)
我的MVC 4项目是全新的,而且规模很小,没有什么花哨的地方。我的目标是.NET Framework 4.5
我需要这个nuget软件包来使用Delta类实现PATCH (当我使用4.0.0.0版的软件包时,Delta类无法正常工作)。
我该如何解决?
我的System.Web.Http版本
在GAC中,我具有System.Web.Http的版本5.0.0.0
gacutil -l System.Web.Http全局程序集缓存包含以下程序集:System.Web.Http,版本= 5.0.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL
在Visual Studio中,当我浏览程序集时,给定的System.Web.Http版本为4.0.0.0(为什么?)
在我的项目中,对System.Web.Http的引用
- 拥有版本5.0.0.0
- 指向软件包的\ lib \ net45 \文件夹
- 具有CopyLocal = true
我尝试过的事情
我试图将重定向v 4.0.0.0绑定到Web.config中的5.0.0.0
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="4.0.0.0-4.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
但这给了我另一个例外:
尝试通过方法'System.Web.Http.GlobalConfiguration..cctor()'访问字段'System.Web.Http.GlobalConfiguration.CS $ <> 9__CachedAnonymousMethodDelegate2'失败。
我想核心Web Api引擎确实需要使用v 4.0.0.0。
相关问题
代码分析错误无法在MVC4 Web API中 加载文件或程序集'System.Net.Http,版本= 2.0.0.0。无法在MVC4 Web API中加载文件或程序集'System.Net.Http,版本= 2.0.0.0。