webapi unity net mvc injection dependency asp asp.net-mvc-4 razor dependencies

asp.net mvc 4 - unity - Intento por ''System.Web.Mvc.PreApplicationStartCode.Start()'' al método crítico ''Error en System.Web.WebPages.Razor.PreApplicationStartCode.Start()''



unity dependency injection (14)

Mi aplicación estaba funcionando bien y después de hacer algunas actualizaciones recibí este error.

Error del servidor en la aplicación ''/''.

Intento por el método transparente de seguridad '' System.Web.Mvc.PreApplicationStartCode.Start() '' para acceder al método crítico de seguridad '' System.Web.WebPages.Razor.PreApplicationStartCode.Start() '' falló. 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.MethodAccessException : Intento por el método transparente de seguridad '' System.Web.Mvc.PreApplicationStartCode.Start() '' para acceder al método de seguridad crítica '' System.Web.WebPages.Razor.PreApplicationStartCode.Start() '' falló.

Error de origen : se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar utilizando el seguimiento de pila de excepción a continuación.

Información de la versión : Microsoft .NET Framework Version: 4.0.30319; Versión ASP.NET: 4.0.30319.18055

No puedo recordar las actualizaciones que hice. ¿Hay alguna manera de arreglar esto?


Creo que el problema ha sido resuelto, pero si no, use este paquete de Nuget:

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

He perdido un día por este error, pero esta única línea me ha hecho el trabajo


En mi caso, fue un problema de incompatibilidad. Tuve estos pacakges:

  • Microsoft.AspNet.Mvc versión 4.x
  • Microsoft.AspNet.Razor y Microsoft.AspNet.WebPages , versión 3.x

Supongo que la actualización de Mvc a 5.x hubiera funcionado, pero necesitaba mantener Mvc 4.x, así que tuve que rebajar Razor y Mvc a 2.x. Para hacerlo, solo tienes que instalar la versión anterior, así:

Install-package Microsoft.AspNet.WebPages -version 2.0.30506 Install-Package Microsoft.AspNet.Razor -Version 2.0.30506

Después de degradar estos paquetes, el primer error desapareció, pero aún había otro error relacionado con un problema en web.config . Tuve que cambiar la redirección de enlace para Razor:

<dependentAssembly> <assemblyIdentity name="System.Web.Razor" ... /> <!--bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /--> <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly>

No sé por qué, pero la redirección de enlaces no fue actualizada por la instalación de Nuget, lo que debería haberlo hecho.


En mi caso, una instalación nuget había cambiado mi Web.Config:

<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="1.1.0.0" /> </dependentAssembly>

newVersion="1.1.0.0" ** debe ser newVersion="5.1.0.0"


Estoy trabajando en el proyecto API web ASP.NET y obtengo el mismo problema después de agregar el siguiente nuget CacheCow.Server.EntityTagStore.SqlServer

Solucionó la instalación de este

Install-Package Microsoft.AspNet.Mvc


Haga clic derecho para proyectar -> Administrar paquetes de Nuget para la solución que encuentre

Microsoft.AspNet.Mvc y Microsoft.Net.Compilers actualizan las últimas versiones


Hay múltiples soluciones para este problema:

Luego, asegúrese de haber actualizado todos sus paquetes Nuget (use "paquete de actualización") y verifique su dll en web.config.

El error probablemente sea una acción en una DLL anterior cuando está convirtiendo su proyecto.


Install-Package -Id Microsoft.AspNet.WebHelpers

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

Esto funcionó para mí



Obtuve este error al implementar un sitio donde Mvc se había actualizado de 4 a 5, pero no había actualizado web.config.

Cambiando de esto:

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

a esto:

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

resuelto el problema para mí


Para mí también ocurrió el mismo error. Fue arreglado instalando el paquete NuGet

Install-Package -Id Microsoft.AspNet.WebHelpers


Recibí este error cuando actualicé un paquete NuGet - '' Microsoft.AspNet.Web Pages '' versión 3.2.3. Estoy usando VS2012, comenzando una nueva aplicación web '' ASP.NET MVC 4 '' con la plantilla '' Aplicación de Internet '' usando Autenticación de Windows o Autenticación de Windows Azure.

Quizás la actualización no sea compatible con otros componentes, y estos otros componentes también deben actualizarse. Otras respuestas sugieren la actualización de Microsoft.AspNet.Mvc , Microsoft.Net.Compilers y / o Microsoft.AspNet.WebHelpers .


Resolví mi problema aplicando el comando "Install-Package Microsoft.AspNet.Mvc".

Después de eso, resolví mi proyecto con la API web.


Tuve un problema similar y lo resolví basándome en el artículo Actualización de Razor 2.0 a 3.0 con Asp.net MVC por Anthony Fassett

El siguiente bloque de código faltaba en mi Web.Config:

<dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly>


intentó . . . Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

y. . . Install-Package -Id Microsoft.AspNet.WebHelpers

ambos sin éxito, finalmente tuvieron que actualizar todos los paquetes a través de nuget. . ¡¡trabajó!!

http://www.3dbuzz.com/forum/threads/202082-ASP-net-MVC-Error-before-application-start

Si está usando Visual Studio, abra las ventanas de nuget packages y ejecute Update-Package, esto actualizará todo su dll a la última versión. Si aún no funciona, consulte esta página: 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