我在哪里可以find一个NuGet包升级到System.Web.Http v5.0.0.0?
刚刚升级了一个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客户端
- 微软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等
什么是NuGet包升级System.Web.Http或者我必须手动执行此操作?
您需要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>
我有一个解决scheme中的几个项目。 对于一些项目,我以前手动添加了参考。 当我使用NuGet更新WebAPI包时,这些引用不会自动更新。
我发现我可以手动更新这些引用,以便指向我的解决scheme的Packages文件夹中的v5 DLL,或者执行以下操作。
- 转到“pipe理NuGet包”
- select已安装的软件包“Microsoft ASP.NET Web API 2.1”
- 点击pipe理,然后检查之前手动添加的项目。