Apenas atualizei um projeto do ASP.NET MVC4 para usar o Unity.WebApi versão 5.0.0.0 e requer System.Web.Http v 5.0.0.0 conforme o seguinte erro:
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'
Atualmente, estou fazendo referência ao System.Web.Http v4.0, mas os seguintes pacotes do NuGet foram atualizados para suas respectivas versões mais recentes:
ANTLRv3
Provedores universais do Microsoft ASP.NET
Microsoft.Web.Infrastructure
Microsoft ASP.NET MVC
Microsoft ASP.NET Razor
Bibliotecas principais do Microsoft ASP.NET Universal Providers
Provedores universais do Microsoft ASP.NET
Cliente da API da Web do Microsoft ASP.NET 2
Núcleo da API da Web do Microsoft ASP.NET 2
Host da Web API 2 da Microsoft ASP.NET
API da Web do Microsoft ASP.NET 2
Página da Web Microsoft ASP.NET
Microsoft.Web.Infrastructure
WebGrease
via NuGet. Não listei bibliotecas JavaScript relevantes, como Micrososft.jQuery.Unobtrusive Validation, etc.
O que é o pacote NuGet para atualizar o System.Web.Http ou preciso fazer isso manualmente?
fonte
Respostas:
Você precisa do pacote Microsoft.AspNet.WebApi.Core .
Você pode vê-lo no arquivo .csproj:
fonte
bin_deployableAssemblies
é apenas uma pasta comum, mas recebe tratamento especial quando existe no diretório do seu projeto. Qualquer arquivo .dll nessa pasta é copiado para o diretório bin quando você publica seu aplicativo Web. Foi usado para implantar a dll System.Web.Mvc (e outros) com seu aplicativo Web antes do NuGet se tornar popular.Eu tenho vários projetos em uma solução. Para alguns dos projetos, eu adicionei as referências anteriormente manualmente. Quando usei o NuGet para atualizar o pacote WebAPI, essas referências não foram atualizadas automaticamente.
Descobri que posso atualizar manualmente essas referências para que aponte para a DLL v5 dentro da pasta Packages da minha solução ou faça o seguinte.
fonte