Właśnie zaktualizowałem projekt ASP.NET MVC4 do korzystania z Unity.WebApi w wersji 5.0.0.0 i wymaga System.Web.Http v 5.0.0.0 zgodnie z następującym błędem:
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'
Obecnie odwołuję się do System.Web.Http v4.0, ale mam następujące pakiety NuGet zaktualizowane do ich odpowiednich najnowszych wersji:
ANTLRv3
Dostawcy uniwersalni Microsoft ASP.NET
Microsoft.Web.Infrastructure
Microsoft ASP.NET MVC
Razor Microsoft ASP.NET
Biblioteki podstawowe dostawców uniwersalnych dostawców platformy Microsoft ASP.NET
Dostawcy uniwersalni Microsoft ASP.NET
Klient Microsoft ASP.NET Web API 2
Microsoft ASP.NET Web API 2 Core
Host sieci Web Microsoft ASP.NET Web API 2
Microsoft ASP.NET Web API 2
Strona internetowa Microsoft ASP.NET
Microsoft.Web.Infrastructure
WebGrease
za pośrednictwem NuGet. Nie wymieniłem odpowiednich bibliotek JavaScript, takich jak Micrososft.jQuery.Unobtrusive Validation itp.
Co to jest pakiet NuGet do uaktualnienia System.Web.Http czy muszę to zrobić ręcznie?
źródło
Odpowiedzi:
Potrzebujesz pakietu Microsoft.AspNet.WebApi.Core .
Możesz to zobaczyć w pliku .csproj:
źródło
bin_deployableAssemblies
to zwykły folder, ale jest traktowany w specjalny sposób, gdy znajduje się w katalogu twojego projektu. Każdy plik .dll w tym folderze jest kopiowany do katalogu bin podczas publikowania aplikacji internetowej. Został użyty do wdrożenia biblioteki dll System.Web.Mvc (i innych) z aplikacją internetową, zanim NuGet stał się głównym nurtem.Mam kilka projektów w rozwiązaniu. W przypadku niektórych projektów wcześniej ręcznie dodałem odniesienia. Gdy użyłem NuGet do zaktualizowania pakietu WebAPI, te odwołania nie zostały zaktualizowane automatycznie.
Dowiedziałem się, że mogę ręcznie zaktualizować te odniesienia, aby wskazywały na bibliotekę DLL v5 w folderze Packages mojego rozwiązania, lub wykonać następujące czynności.
źródło