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

时间:2015-02-19 10:46:18

标签: asp.net-mvc asp.net-mvc-5 nuget

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

7 个答案:

答案 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

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

答案 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包对我有用。

  1. 从项目中删除任何旧引用。
  2. 在程序包管理器控制台中执行此操作:

    1. UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
    2. 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;

这应该有效