ASP.NET: no se puede llamar a este método durante la etapa de inicialización previa al inicio de la aplicación

Estoy tratando de ejecutar un sitio ASP.NET MVC 3 en IIS 6.0.

Actualmente, cuando solicito una página del servidor, aparece el siguiente error:

Mensaje de error del analizador: no se puede llamar a este método durante la etapa de inicialización previa al inicio de la aplicación.

en esta línea:

 

Estoy completamente perplejo y no tengo mucha idea sobre el ciclo de vida de la aplicación ASP.NET, y mucho menos las diferencias entre 6.0 y 7.0. Leer las páginas de MSDN no parece haber sido de mucha ayuda.

¿Alguien tiene alguna idea o algún enlace bueno para la investigación? 🙂

Agregue esto en su web.config (en la sección appSettings):

   

EDITAR:

Para los que preguntan por qué, es un problema conocido descrito en las notas de la versión de mvc 3. Más detalles aquí.

Después de actualizar algunas de mis aplicaciones de ASP.NET MVC3 a MVC4, recibí este error. Fue el resultado de los ensamblados de WebMatrix (WebMatrix.WebData.dll y WebMatrix.Data.dll). Quité esas referencias y ensamblajes del directorio / bin y eso resolvió el problema.

@ Ek0nomik tiene razón. Migramos de MembershipProvider al nuevo ExtendedMembershipProvider lo que nos permite aprovechar algunas de las nuevas funcionalidades ofrecidas en el espacio de nombres de WebMatrix . Por defecto, la membresía simple está habilitada por algún motivo, por lo que tuvimos que deshabilitarla explícitamente, ya que no queríamos llegar al uso de SimpleMembershipProvider .

Todo lo que teníamos que hacer era agregar esto a web.config:

  

Tener habilitada la membresía simple hizo que el código de inicialización del proveedor se ejecutara antes que el manejador Application_Start. La estructura de nuestra aplicación requiere que App_Start sea lo primero que se ejecute. Personalmente, siempre esperaría esto, pero la membresía simple cambia este comportamiento. Tener cuidado.

Bueno, acabo de recibir este error, y resultó de haber copiado accidentalmente un .cshtml en la raíz de mi proyecto. Ni siquiera estaba incluido en el proyecto. Eliminado eso y el error desapareció. Esto fue con MVC3 en IIS7. Me imagino que algunas de las personas que tienen este problema están en el mismo barco.

Esto se debe a una cantidad de llamadas de Reflexión que se realizan demasiado temprano en una Aplicación. Simplemente sucede que las sugerencias de Web.Config en otras respuestas impidieron que se realizara una de esas llamadas a Reflection. En mi caso sin embargo:

Estoy usando Entity Framework y ejecuté la update-database . Tengo:

Este método no puede invocarse durante la fase de inicialización previa al inicio de la aplicación.

Resultó que teníamos un código que usaba una biblioteca que fue modificada recientemente para obtener todo el código en todos los espacios de nombres / proyectos. Específicamente, llamó:

 System.Web.Comstacktion.BuildManager.GetReferencedAssemblies() 

Kaboom. Eso causó este oscuro error. Las migraciones de EF se ejecutan en una zona rara donde la aplicación está medio ejecutándose y la mitad no, lo que significa que el método anterior nunca puede invocarse con ningún código al que las migraciones recurran.