如何获得'System.Web.Http,Version = 5.2.3.0?


88

我刚刚创建了一个MVC5项目,并从nuget中添加了几个软件包,但是当我编译该项目时,出现了此错误。似乎其中一个软件包确实取决于system.web.http版本5.2.3.0,我在任何地方都找不到。我只是想知道如何获取system.web.http的最新版本?

错误2程序集'System.Web.Http.WebHost,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'使用'System.Web.Http,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'比参考程序集'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

Answers:


117

在Package Manager控制台中

Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3


我确实做了,但仍然给我相同的错误<br/> <pre> PM>安装软件包microsoft.aspnet.webapi.core -version 5.2.3试图解决依赖项'Microsoft.AspNet.WebApi.Client(≥5.2.3 )'。试图解决依赖关系“ Newtonsoft.Json(≥6.0.4)”。已安装“ Microsoft.AspNet.WebApi.Core 5.2.3”。www.ptsol.com.au已经引用了“ Microsoft.AspNet.WebApi.Core 5.2.3”。</ pre>
John Hadikusumo

4
@JohnHadikusumo对您的所有项目执行此操作。看来您有一个具有较旧版本的从属项目。
说唱时间

是的,这将起作用。在运行此命令之前和之后,请仔细阅读Web.config和packages.config,您将看到更改的内容。
AlfredBr'3

解决了我的问题。
Phon Soyang'2

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”。


这对我有用。我们的bindingRedirect设置为,<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />但更改为使用4.0.0.0。对我来说仍然没有意义,因为应该使用NuGet包DLL,而不是GAC版本,但是,嘿,它起作用了...所以,谢谢!
jamiebarrow

8

我做了 Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3但还是没用。然后查看我的项目bin文件夹,发现它仍然具有旧的System.Web.Mvc文件。

因此,我将较新的文件从软件包中手动复制到bin文件夹中。然后我又起来又跑步了。


7

安装软件包Microsoft.AspNet.WebApi.Core-版本5.2.3

然后在项目中添加引用->浏览。按下浏览按钮并转到C:\ Users \ UserName \ Documents \ Visual Studio 2015 \ Projects \ ProjectName \ packages \ Microsoft.AspNet.Mvc.5.2.3 \ lib \ net45并添加所需的.dll文件



3

卸载并重新安装NuGet软件包对我有用。

  1. 从项目中删除任何旧的引用。

在程序包管理器控制台中执行以下操作:

  1. UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
  2. Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3

只是这个解决了我的问题。我已经做了很多事情,而制胜举止是如此简单。
乔治·莱恩茨
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.