Acabo de actualizar un proyecto ASP.NET MVC4 para usar Unity.WebApi versión 5.0.0.0 y requiere System.Web.Http v 5.0.0.0 según el siguiente 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'
Actualmente estoy haciendo referencia a System.Web.Http v4.0 pero tengo los siguientes paquetes NuGet actualizados a sus respectivas versiones más recientes:
ANTLRv3
Proveedores universales de Microsoft ASP.NET
Microsoft.Web.Infrastructure
Microsoft ASP.NET MVC
Microsoft ASP.NET Razor
Bibliotecas principales de proveedores universales de Microsoft ASP.NET
Proveedores universales de Microsoft ASP.NET
Cliente Microsoft ASP.NET Web API 2
Microsoft ASP.NET Web API 2 Core
Host web de Microsoft ASP.NET Web API 2
API web 2 de Microsoft ASP.NET
Página web Microsoft ASP.NET
Microsoft.Web.Infrastructure
WebGrease
a través de NuGet. No he enumerado bibliotecas de JavaScript relevantes como Micrososft.jQuery.Unobtrusive Validation, etc.
¿Cuál es el paquete NuGet para actualizar System.Web.Http o tengo que hacerlo manualmente?
fuente
Respuestas:
Necesita el paquete Microsoft.AspNet.WebApi.Core .
Puede verlo en el archivo .csproj:
fuente
bin_deployableAssemblies
es solo una carpeta normal, pero recibe un tratamiento especial cuando existe en el directorio de su proyecto. Cualquier archivo .dll en esa carpeta se copia en el directorio bin cuando publica su aplicación web. Se usó para implementar System.Web.Mvc dll (y otros) con su aplicación web antes de que NuGet se generalizara.Tengo varios proyectos en una solución. Para algunos de los proyectos, previamente agregué las referencias manualmente. Cuando usé NuGet para actualizar el paquete WebAPI, esas referencias no se actualizaron automáticamente.
Descubrí que puedo actualizar manualmente esas referencias para que apunten a la DLL v5 dentro de la carpeta Paquetes de mi solución o haga lo siguiente.
fuente