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
yMicrosoft.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:
- Siga el tutorial sobre la actualización de 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
- No olvides eliminar el DLL de Microsoft-Web-Helpers e instalar el paquete nuget Microsoft.AspNet.WebHelpers
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í
Logré resolver el problema siguiendo este enlace: 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
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