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
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".
我做了,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文件