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

Joh*_*umo 84 asp.net-mvc nuget asp.net-mvc-5

我刚刚创建了一个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

Rom*_*tin 112

在包管理器控制台中

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

  • @JohnHadikusumo为你所有的*项目做这件事.您似乎有一个旧版本的依赖项目. (4认同)

Bra*_*her 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>
Run Code Online (Sandbox Code Playgroud)

<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>
Run Code Online (Sandbox Code Playgroud)

因此oldVersion属性应该从"...- 4.0.0.0"更改为"...- 5.2.3.0".


Bob*_*ury 7

我做了,Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3但它仍然无法正常工作.然后查看我的项目bin文件夹,看到它仍然有旧的System.Web.Mvc文件.

所以我手动将新文件从包中复制到bin文件夹.然后我又回来了.


小智 7

您安装的软件包将依赖关系引入了版本5.2.3.0 dll,如上面用户Bracher所示.Microsoft.AspNet.WebApi.Cors是一个示例包.我采取的路径是将MVC项目proir更新为任何软件包安装:

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3
Run Code Online (Sandbox Code Playgroud)

https://www.nuget.org/packages/microsoft.aspnet.mvc


小智 6

安装包Microsoft.AspNet.WebApi.Core -version 5.2.3

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