在哪里可以找到一个NuGet包,用于升级到System.Web.Httpv5.0.0.0?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

刚刚升级了ASP.NET MVC4项目以使用Unity.WebApi版本5.0.0.0,并且它需要System.Web.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
  • Microsoft ASP.NET通用提供程序
  • Microsoft.Web.Infrastructure
  • 微软ASP.NET MVC
  • Microsoft ASP.NET Razor
  • Microsoft ASP.NET通用提供程序核心库
  • Microsoft ASP.NET通用提供程序
  • Microsoft ASP.NET Web API 2客户端
  • Microsoft ASP.NET Web API 2核心
  • Microsoft ASP.NET Web API 2 Web主机
  • Microsoft ASP.NET Web API 2
  • 微软ASP.NET网页
  • Microsoft.Web.Infrastructure
  • WebGrease 通过NuGet。我没有列出相关的JavaScript库,例如Micrososft.jQuery.Unobtrusive Validation等。

提问于
用户回答回答于

你需要Microsoft.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. 点击管理并检查之前手动添加的项目。

扫码关注云+社区