Just upgraded an ASP.NET MVC4 project to use Unity.WebApi version 5.0.0.0 and it requires System.Web.Http v 5.0.0.0 as per the following error:
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'
I am currently referencing System.Web.Http v4.0 but have the following NuGet packages upgraded to their respective latest versions:
ANTLRv3
Microsoft ASP.NET Universal Providers
Microsoft.Web.Infrastructure
Microsoft ASP.NET MVC
Microsoft ASP.NET Razor
Microsoft ASP.NET Universal Providers Core Libraries
Microsoft ASP.NET Universal Providers
Microsoft ASP.NET Web API 2 Client
Microsoft ASP.NET Web API 2 Core
Microsoft ASP.NET Web API 2 Web Host
Microsoft ASP.NET Web API 2
Microsoft ASP.NET Web Page
Microsoft.Web.Infrastructure
WebGrease
via NuGet. I have not listed relevant JavaScript libraries such as Micrososft.jQuery.Unobtrusive Validation, etc.
What is the NuGet package to upgrade System.Web.Http or do I have to do this manually?
You need the Microsoft.AspNet.WebApi.Core package.
You can see it in the .csproj file:
<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>