我在哪里可以找到升级到 System.Web.Http v5.0.0.0的 NuGet 包?

刚刚升级了一个 ASP.NET MVC4项目,使用 Unity。WebApi 5.0.0.0版本,它需要 System。韦伯。根据以下错误,Http v 5.0.0.0:

Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

我目前正在参考 System.Web.Http v4.0,但是已经将以下 NuGet 软件包升级到了它们各自的最新版本:

  • ANTLRv3

  • NET 通用提供程序

  • 微软,网络,基础设施

  • 微软 ASP.NET MVC

  • 微软 ASP.NET 剃刀

  • NET 通用提供程序核心库

  • NET 通用提供程序

  • NET Web API 2客户端

  • NET Web API 2核心

  • NET Web API 2 Web 主机

  • 微软 ASP.NET Web API 2

  • 微软 ASP.NET 网页

  • 微软,网络,基础设施

  • 网络油脂

    我没有列出相关的 JavaScript 库,比如 Microsoft.jQuery、 Unobtrusion Validation 等等。

升级 System.Web.Http 的 NuGet 包是什么,还是我必须手动完成?

186651 次浏览

你需要 微软.AspNet.WebApi.Core软件包。

您可以在.csproj 文件中看到它:

<Reference Include="System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference>

我在一个解决方案中有几个项目。对于一些项目,我以前手动添加了引用。当我使用 NuGet 更新 WebAPI 包时,这些引用并没有自动更新。

我发现我可以手动更新这些引用,使它们指向我的解决方案 Packages 文件夹中的 v5 DLL,或者执行以下操作。

  1. 进入“管理 NuGet 软件包”
  2. 选择已安装的包“ Microsoft ASP.NET Web API 2.1”
  3. 单击 Manage 并检查我之前手动添加的项目。