visual true studio redirects propiedad generate establezca autogeneratebindingredirects autogenerate asp.net asp.net-web-api web-config assembly-binding-redirect assemblybinding

asp.net - true - No se pudo cargar el archivo o el ensamblaje System.Web.Http, Version=5.2.2.0



autogeneratebindingredirects visual studio 2017 (7)

Establezca Copy Local en true en las propiedades de los ensamblados System.Web.Http y System.Web.Http.WebHost y System.Web.Http.WebHost implementar el paquete.

Si esto no resuelve su problema, intente reinstalar el paquete NuGet. Esperemos que esto corrija las dependencias rotas. Desde la consola de administración de paquetes, ejecute este comando:

Update-Package Microsoft.AspNet.WebApi -reinstall

Asegúrese de instalar System.Web.Http.WebHost también.

Acabo de cargar un proyecto de Asp.Net Web Api 2.2 en el servidor de producción y recibí el error indicado en el título.

En mi Web.config ya tengo esto:

<dependentAssembly> <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" /> </dependentAssembly>

El archivo existe en el contenedor. ¿Qué causaría esto?
Todos mis archivos de la API web de Asp.Net están actualizados y muestran 5.2.2 como la versión. Funciona bien en mi máquina dev.


La adición de configuración debajo de web.cofig resolvió mi problema.

<dependentAssembly> <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.5.0" /> </dependentAssembly>


Me encontré con el mismo error exacto. Fue causado por un script que estaba usando para implementar la aplicación que reemplazó a Web.config con una versión anterior. El Web.config estaba especificando la versión incorrecta de System.Web.Http. Eliminar ese paso solucionó el problema.


Otra forma de hacer esto, que no requiere una Nueva compilación o actualización / reinstalación Con Nuget, es hacer lo siguiente en config.web:

Para la dll con la que tiene problemas, haga lo siguiente:

&lt;bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="5.2.2.0"&gt;

Tuve un problema hoy, y este pequeño cambio lo resolvió ...


Para mí, desde el "Explorador de soluciones" verifiqué la versión de "System.Web.Http" en las referencias del proyecto, que era 5.2.3.0, por lo que en el web.config, cambié:

<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />

a

<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.3.0" />

luego construir ¡Funcionó para mí!


Resolví el problema en los siguientes pasos:

  1. Detener el sitio en el servidor web remoto
  2. Limpiando la carpeta del sitio
  3. Publicándolo de nuevo
  4. Comenzando el sitio

La publicación de un solo clic no reemplazó la versión correcta de dll o el sitio remoto mantuvo el archivo en uso.


Si tiene un ensamblaje en GAC con una versión diferente, siempre se cargará, no el de la carpeta bin.