Hice la actualización de acuerdo a. http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and- web-api-2
Me sale el error ¿Alguien más recibió este error?
Error del servidor en la aplicación '/'.
No se pudo cargar el archivo o ensamblado 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' o una de sus dependencias. La definición de manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)
Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.Detalles de la excepción: System.IO.FileLoadException: No se pudo cargar el archivo o ensamblado 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' o una de sus dependencias. La definición de manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)
Error de fuente:
Línea 48: Línea 49: Línea 50:} Línea 51: Línea 52: vacío protegido Application_BeginRequest (remitente de objeto, EventArgs e)
Archivo de origen: d: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ Global.asax.cs Línea: 50
Rastreo de carga de ensamblado: la siguiente información puede ser útil para determinar por qué no se pudo cargar el ensamblado 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'.
=== Información de estado previa al enlace === LOG: DisplayName = System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 (Completamente especificado) LOG: Appbase = file: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/ LOG: Initial PrivatePath = D: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ bin Conjunto de llamadas: ThirdPartyWebAPI, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null. === LOG: este enlace comienza en el contexto de carga predeterminado. LOG: utilizando el archivo de configuración de la aplicación: D: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ web.config LOG: utilizando el archivo de configuración del host: C: \ Users \ michalc \ Documents \ IISExpress \ config \ aspnet.config LOG: utilizando la configuración de la máquina archivo de C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config. LOG: Referencia posterior a la política: System.Web.Http, Versión = 4.0.0.0, Cultura = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: Intento de descarga del nuevo archivo URL: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files / root / 9184b2ea / c6d4b139 / System.Web.Http.DLL. REGISTRO: Intento de descarga del nuevo archivo URL: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporal ASP.NET Files / root / 9184b2ea / c6d4b139 / System.Web.Http / System.Web.Http .DLL. LOG: Intentando descargar el nuevo archivo URL: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/bin/System.Web.Http.DLL. WRN: la comparación del nombre del ensamblado resultó en una discordancia: ERR de la versión principal: no se pudo completar la configuración del ensamblado (hr = 0x80131040). Sondeo terminado. Intentando descargar el nuevo archivo URL: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files / root / 9184b2ea / c6d4b139 / System.Web.Http / System.Web.Http.DLL . LOG: Intentando descargar el nuevo archivo URL: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/bin/System.Web.Http.DLL. WRN: la comparación del nombre del ensamblado resultó en una discordancia: ERR de la versión principal: no se pudo completar la configuración del ensamblado (hr = 0x80131040). Sondeo terminado. Intentando descargar el nuevo archivo URL: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files / root / 9184b2ea / c6d4b139 / System.Web.Http / System.Web.Http.DLL . REGISTRO: Intentando descargar el nuevo archivo URL: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/bin/System.Web.Http.DLL. WRN: al comparar el nombre del ensamblado se produjo una falta de coincidencia: ERR de la versión principal: no se pudo completar la configuración del ensamblado (hr = 0x80131040). Sondeo terminado. Error al completar la configuración del ensamblaje (hr = 0x80131040). Sondeo terminado. Error al completar la configuración del ensamblaje (hr = 0x80131040). Sondeo terminado.
Seguimiento de pila:
[FileLoadException: no se pudo cargar el archivo o ensamblado 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' o una de sus dependencias. La definición de manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)] ThirdPartyWebAPI.WebApiApplication.Application_Start () en d: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ Global.asax.cs: 50
[HttpException (0x80004005): No se pudo cargar el archivo o ensamblado 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' o una de sus dependencias. La definición de manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext contexto, HttpApplication app) 9935033
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr appContext, HttpContext contexto, MethodInfo [] manipuladores) 118
System.Web.HttpApplication .InitSpecial (estado HttpApplicationState, manejadores MethodInfo [], IntPtr appContext, contexto HttpContext) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext, HttpContext context) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext) +296[HttpException (0x80004005): No se pudo cargar el archivo o ensamblado 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' o una de sus dependencias. La definición de manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)]
System.Web.HttpRuntime.FirstRequestInit (contexto HttpContext) +9913572 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext context) +101 System.Web.HttpRuntime.ProiveRequest.
Información de la versión: Microsoft .NET Framework Versión: 4.0.30319; Versión de ASP.NET: 4.0.30319.18408
fuente
Respuestas:
Lo arreglé reinstalando el paquete NuGet , que corrige dependencias rotas. Desde el administrador de paquetes, ejecute:
fuente
Para resolver el error 'No se pudo cargar el archivo o ensamblado' System.Web.Http ', use NuGet para instalar Web Web 2.1 WebHost.
En el explorador de soluciones en las referencias, haga clic derecho y seleccione administrar paquetes nuget. (si no hay, instale nuget)
En la ventana de administración de paquetes NuGet en el lado izquierdo, haga clic en línea y luego en la parte superior derecha busque Web Host e instale Microsoft ASP.NET Web API 2.1 Web Host. (Una vez instalado, el botón de instalación cambiará a una marca verde)
Después de eso, el proyecto se volverá a cargar y cuando se vuelva a compilar, el error se resolverá y el proyecto se depurará y ejecutará. El error desaparecerá y es posible que no se encuentre el recurso. Solo agregue la URL (por ejemplo, localhost: 52088 / a localhost: 52088api / products)
Tu pregunta fue buena y me ayudó.
Espero que esta respuesta ayude!
fuente
Necesita agregar redireccionamientos de ensamblaje:
Lo más probable es que tenga que hacer esto para algunos ensamblajes más como alojamiento web, etc.
fuente
System.Web.Http
.O puede hacerlo desde la consola de NuGet Package Manager
Y luego podrá agregar la referencia a System.Web.Http.WebHost 5.0
fuente
Cuando instalé la ayuda de Web Api 2.2, comenzó este error. Agregué esto a web.config y resolvió mi problema.
fuente
Simplemente configuré
Copy Local = true
el ensamblaje perdido y funcionó. Esto, por supuesto, sucede haciendo clic derecho sobre la referencia que falta (que se indica en el mensaje de error) y seleccionando propiedades; como a continuación:Esto debería resolver un problema, ya que podría haber más de un ensamblaje causando el problema: lo que hice fue seleccionar todos los ensambles y hacer clic derecho en ellos; propiedades seleccionadas; y configúrelos todos para Copiar Local = verdadero; y luego republicar.
fuente
La solución adecuada para resolver este problema es siguiendo los pasos
. Actualice Visual Studio si tiene una versión anterior a 15.5.4 (Opcional)
Elimine todos los redireccionamientos de enlace de web.config
Agregue esto al archivo csproj:
Construir.
En la carpeta bin, debe haber un
(WebAppName).dll.config
archivo.Debería tener redireccionamientos en él. Copie estos en la web.config
Elimine lo anterior recortado del archivo csproj nuevamente
Deberia de funcionar
Detailed Blog
fuente
Para mí, solo estaba fallando con este error en un entorno de producción, no en una máquina local; lo que resolvió fue eliminar el contenido de la carpeta / bin y luego volver a generarlo.
fuente
Solo una sugerencia útil obvia pero posible ... recuerde verificar que la nueva versión que especifique en su enlace de ensamblaje webconfig sea la misma versión a la que hace referencia en las referencias de su proyecto. (es decir, mientras escribo esto ... esto sería 5.1.0.0 si recientemente ha realizado un NUGet en System.Web.Http
fuente
fuente
Esto podría ayudar a alguien.
Decidí ir con la aplicación MVC4.
ejecutar proyecto, trabajado
Luego instalé algunos paquetes, como
Microsoft ASP.NET WEB API 2.2 (4 paquetes)
Microsoft ASP.NET WEB API 2.2 Página de ayuda
Microsoft ASP.NET WEB API 2.2 OWIN
ejecutar proyecto, el mismo error que se menciona en la pregunta
Solución:
En web.config
Problema resuelto
pero luego, se encontró un error de revisión . Para resolverlo, vaya a la carpeta VIEW de su proyecto MVC4, busque
second
el archivo web.config y cambie la versión de 2.0.0.0 a 3.0.0.0 como se muestra a continuación.fuente
En mi caso, en realidad me faltaba por
web.config
completo, que tenía los redireccionamientos de enlace apropiados. Restaurando elweb.config
resuelto el error.fuente
Podría resolver un problema similar con System.Net.HTTP agregando una referencia de ensamblaje en app.config de la aplicación principal.
fuente
¡Encontré la solución! Elimine la carpeta llamada paquete en el directorio del proyecto y luego reconstruya para ejecutarlo.
fuente
fuente
¡¡¡SI!!!
Funciona bien en mi caso ... gracias
fuente
No hice nada, solo copié las DLL de la carpeta Bin de desarrollo en la carpeta Bin implementada en línea y funcionó bien para mí.
fuente
Como han dicho otros, simplemente reinstale el paquete MVC a su proyecto web usando nuget, pero asegúrese de agregar el paquete MVC a cualquier proyecto dependiendo del proyecto web, como las pruebas unitarias. Si crea cada proyecto incluido individualmente, verá que los brujos requieren la actualización.
fuente
Tuve el mismo problema y la reinstalación del paquete no funciona.
Mi aplicación se ejecuta en LocalIIS (no IIS EXPRESS). Habilito el seguimiento de carga de ensamblaje y descubro que desea cargar System.Web.Http cargar desde debajo de la captura temporal. así que elimine todas las carpetas de captura .
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Archivos temporales ASP.NET [mi aplicación]
fuente
Resolví este problema revirtiendo los cambios que Nuget había realizado en mi
web.config
después de ejecutarnuget
. Revierta los cambios a una versión de trabajo anterior.fuente
Lo que resolvió el problema para mí fue reinstalar la página de ayuda de Microsoft ASP.NET Web API 2.2 y los paquetes OWIN de Microsoft ASP.NET Web API 2.2 . Reinstalé ambas al mismo tiempo, pero creo que fue la primera la que solucionó el problema.
Probé las primeras soluciones ofrecidas aquí, pero eso no ayudó, luego comparé mis dependencias con las de un proyecto que funcionó (de un curso en Pluralsight) y las dos dependencias anteriores eran una versión inferior (5.0.0 ) así que los actualicé a 5.2.3 y comenzó a funcionar.
fuente
Tuve esto de un servicio WCF. Para mí (ya que el problema se mostraba en el desarrollador local), simplemente tuve que eliminar el contenido de la carpeta bin bajo la solución. La reconstrucción funciona bien una vez más.
fuente
Versión ASP.NET: 4.0.30319.18408 pertenece a .Net4.5 y System.Web.Http Version = 4.0.0.0 es compatible con .NET4.0. Entonces las versiones que tienes no son compatibles. Debe actualizar su System.Web.Http a la versión 5.0.0.0, que es compatible con .Net4.5
fuente
Tuve un problema similar. Todo estaba funcionando antes. Originalmente se hizo usando formularios web y luego se agregó API web para algunas cosas.
Lo que funcionó fue, en Visual Studio, cambiar la configuración del perfil de publicación de Release a Debug. Extraño, pero eso fue lo que funcionó. Entonces compartiendo aquí.
fuente
Recibí este problema al implementar en Azure con la función Publicar. Recuerde borrar archivos en el destino.
Publish Settings -> File Publish Options drop down -> Check Remove additional files at destination
Esto resolvió mi problema, en caso de que la gente tenga que buscar esto como lo hice yo. Todo era la misma versión en mi proyecto / solución, pero no en el destino en el que estaba implementando.
fuente
Si usa varios proyectos en una solución y llama al método en un proyecto a otro proyecto, asegúrese de que todos los proyectos (llamados proyecto y proyecto llamante) usen la
'System.Net.Http'
versión única .fuente
Cambie el indicador de versión Specfic de verdadero a falso para el dll en la referencia
fuente
Tuve el mismo problema con System.Web.Http.WebHost, se hace referencia a la Versión = 5.2.6.0 pero el último paquete NuGet fue 5.2.7.0. Edité los archivos web.config, reinstalé el paquete NuGet, luego edité los archivos de proyecto de Visual Studio para todos mis proyectos para asegurarme de que no persistiera ninguna referencia a 5.2.6.0. Incluso después de todo esto, el problema persistió.
Luego busqué en la carpeta bin el proyecto que arrojaba la excepción, donde encontré una DLL para uno de mis otros proyectos que no es una dependencia y que nunca debería haber estado allí. Eliminé la DLL ofensiva (que había sido compilada usando la versión 5.2.6.0 de System.Web.Http.WebHost), reconstruí el proyecto problemático y ahora está funcionando.
fuente