我刚刚创建了一个MVC5项目并从nuget添加了几个包,但是当我编译项目时,我收到了这个错误。似乎其中一个软件包真的依赖于system.web.http版本5.2.3.0,这在任何地方都找不到。我只是想知道如何获得最新版本的system.web.http?
Error 2 Assembly 'System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 'System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
d:\Backup 2014-12-25\Website-Projects\www.ptsol.com.au\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
答案 0 :(得分:105)
在软件包管理器控制台中
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
答案 1 :(得分:19)
修复它的一种方法是修改web.config文件中的程序集重定向。
修改以下内容:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
到
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="4.0.0.0" />
</dependentAssembly>
因此oldVersion属性应该从“...- 4.0.0.0”更改为“...- 5.2.3.0”。
答案 2 :(得分:7)
我做了Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
但它仍然无效。然后查看我的项目bin文件夹,看到它仍然有旧的System.Web.Mvc文件。
所以我手动将新文件从包中复制到bin文件夹。然后我又回来了。
答案 3 :(得分:7)
您安装的软件包将依赖关系引入了版本5.2.3.0 dll,如上面用户Bracher所示。 Microsoft.AspNet.WebApi.Cors是一个示例包。我采取的路径是更新MVC项目proir 到任何软件包安装:
Install-Package Microsoft.AspNet.Mvc -Version 5.2.3
答案 4 :(得分:6)
安装包Microsoft.AspNet.WebApi.Core -version 5.2.3
然后在项目添加参考 - &gt;浏览。按下浏览按钮,然后转到 C:\ Users \ UserName \ Documents \ Visual Studio 2015 \ Projects \ ProjectName \ packages \ Microsoft.AspNet.Mvc.5.2.3 \ lib \ net45并添加所需的.dll文件
答案 5 :(得分:2)
卸载并重新安装NuGet包对我有用。
在程序包管理器控制台中执行此操作:
UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
答案 6 :(得分:0)
在你的 nuget 包管理器中安装它
Install-Package Microsoft.AspNet.WebApi.WebHost -Version 5.2.7
并粘贴
使用 System.Web.Http;
这应该有效