asp.net-mvc deployment webserver asp.net-mvc-3

asp.net-mvc - razor c#



Problemas de dependencia de implementación MVC3 (4)

Acabo de intentar implementar una aplicación MVC3 en nuestro entorno de alojamiento IIS7 pero me presentan la siguiente excepción:

No se pudo cargar el tipo ''Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility'' del ensamblado ''Microsoft.Web.Infrastructure, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35''. 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.TypeLoadException: no se pudo cargar el tipo ''Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility'' del ensamblado ''Microsoft.Web.Infrastructure, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35''.

¿Alguna sugerencia?

La aplicación no se está implementando bin ya que he instalado páginas web ASP.Net y MVC3 en el servidor web.


Asegúrese de que el archivo raíz web.config en su servidor (ubicado en algún lugar como aquí: C:/Windows/Microsoft.NET/Framework/v4.0.30319/Config/web.config ) tiene la siguiente entrada:

<configuration> <location allowOverride="true"> <system.web> <fullTrustAssemblies> <add assemblyName="Microsoft.Web.Infrastructure" version="1.0.0.0" publicKey="[bunch of letters and numbers]" />

Si falta, significa que alguien se metió con tu instalación de .NET 4.


Resulta que después de hacer una limpieza de referencia, eliminó Microsoft.Web.Infrastructure , pero no del archivo packages.config. Después de intentar agregarlo de nuevo usando la Package Manager Console , Visual Studio dice que ya está instalado, que es falso porque se eliminó.

Luego eliminé la línea de código en el archivo packages.config

<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />

y corrió el comando otra vez

PM> Install-Package Microsoft.Web.Infrastructure

Después de esto, ahora funciona bien.



Esto se debe a que Microsoft.Web.Infrastructure no está en su GAC. Necesita agregar esta referencia a su proyecto. Haga clic con el botón derecho en la referencia y vaya a propiedades, luego configure copy to local en true.

Salida (Ignorar el Ninject y la NCU):