Error: «No se pudo cargar el tipo de aplicación Mvc»

Estoy recibiendo el error

No se pudo cargar el tipo de aplicación Mvc

cuando bash ejecutar mi sitio web

¿Cómo corregirlo?

Tan tonto como podría parecer, lo intentó todo y no funcionó y finalmente reinició VS2012 para verlo funcionar de nuevo.

-Para mí, la solución fue cambiar la ruta de salida en la pestaña de comstackción. Cambié la ruta de salida a bin\ y el error desapareció.

-Otra corrección podría ser que tienes un proyecto de inicio de proyecto incorrecto.

Estaba obteniendo el mismo error y, a pesar de hacer todo lo mencionado aquí y en otro lugar, nada funcionó. Resultó que había copiado el código fuente de global.asax.cs de una versión anterior del proyecto que tenía un nombre diferente. Entonces, la namespace Test del namespace Test debería haber sido el namespace Test.WebUI . ¡Un error tonto por supuesto y estoy un poco avergonzado de escribir esto! Pero escribir con la esperanza de que un error similar de cualquier otra persona lo lleve a verificar también este aspecto trivial.

Solo haz una comstackción manual en tu solución.

Si está utilizando IIS local, intente eliminar el registro del sitio web en el administrador de IIS y luego recrearlo manualmente.

[Extraído de la pregunta]

Si obtiene este error: “No se pudo cargar el tipo de aplicación Mvc”, mire la ruta de salida de su proyecto y asegúrese de que esté configurado como ‘bin \’. El problema es que AspNetCompiler no puede encontrar los archivos si no están en la ubicación predeterminada.

Otro efecto secundario de cambiar la carpeta de salida es que no podrá depurar su código y aparecerá un mensaje que indica que no se puede encontrar la información de la Asamblea.

Tuve el mismo problema y lo resolví con los siguientes pasos

  1. Ir a las propiedades del proyecto
  2. En la pestaña “Crear”, establece la ruta de salida en “bin”

Ahh esto fue molesto.

Obtuve este error después de un corte de energía y volví a mi proyecto.

Intenté reiniciar VS. Intenté configurar la ruta de salida en \ bin. Revisé mis espacios de nombre.

Pero lo que funcionó para mí fue reconstruir la solución.

¡Reconstruye la solución!

Mi solución: ¡porque creé el problema! Cambié el espacio de nombres en Global.asax.cs

También necesita cambiar el valor del atributo Heredas en Global.asax.

Verifique el código detrás de la información, proporcionada en global.asax. Deberían señalar correctamente a la clase en su código detrás.

muestra global.asax:

 <%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %> 

código de muestra detrás:

  namespace MyApplicationNamespace { public class MyMvcApplication : System.Web.HttpApplication { protected void Application_Start( ) { AreaRegistration.RegisterAllAreas( ); FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters ); RouteConfig.RegisterRoutes( RouteTable.Routes ); BundleConfig.RegisterBundles( BundleTable.Bundles ); } } } 

Si aloja en IIS express y abre su proyecto en dos ubicaciones diferentes, es posible que vea este error.

La solución es ir a Project/Properties/Web/Servers y hacer clic en Create Virtual Directory .

Esto también puede ocurrir mientras se ejecuta el proyecto en Visual Studio si su IIS Express tiene / está alojando un proyecto antiguo / diferente usando la misma asignación de puerto.

Para solucionarlo, puede cambiar la asignación del puerto para este proyecto o cerrar IIS Express.

La solución para mí fue hacer clic con el botón derecho en el proyecto Mvc, elegir propiedades y hacer clic en Crear directorio virtual.

Apareció un cuadro de mensaje que decía que el proyecto estaba mapeado en la carpeta incorrecta (mostraba la carpeta de un proyecto TFS diferente) y le daba la opción de asignarlo a la carpeta correcta.

  1. Haga clic con el botón derecho en el proyecto dentro de la solución que está fallando.
  2. Descargar proyecto
  3. Recargar Proyecto
  4. Proyecto de construcción
  5. Reconstruir la solución

Recibí este error porque estaba ejecutando el proyecto a pesar de algunos errores de tiempo de comstackción. Esto no me di cuenta.

Elimine el contenido de la carpeta bin del sitio (use el explorador de archivos para esto). Reconstruir.

Ya tenía bin/ en mi pestaña de comstackción. Obtuve global.asax de otra copia del proyecto, pero no funcionó.

La solución que finalmente funcionó para mí fue eliminar el bin/ carpeta y crear una nueva carpeta vacía con el mismo nombre.

Lo he visto muchas veces en la última década y lo volví a tener. Hay muchos problemas que resultan en el mismo error.

Una de las causas es el cambio de nombre de los archivos. Cambie el nombre de Default.aspx (los archivos .cs y de diseñador relacionados se renombran automáticamente). El código subyacente cambia pero la línea Inherits en el marcado no. Cambiarlo manualmente Revisa la página del diseñador. A veces (VS2005-8?) La página del diseñador no refleja un cambio en el espacio de nombres. No he visto esto en 2010+.

Otro problema es cuando todo funciona en VS o en su PC local, pero no cuando se implementa. Esto podría deberse a que el entorno de despliegue no está estructurado de la misma manera. Por ejemplo, el error ocurre si coloca su código en un directorio virtual debajo de una carpeta de aplicaciones, pero no ocurre si crea una nueva carpeta de aplicaciones y coloca todos sus archivos allí. No entiendo esta, ya que he creado la nueva carpeta hija / virtual con los mismos permisos (o eso creo) y (creo) el grupo de aplicaciones debería funcionar igual para todo en una carpeta de aplicación determinada.

En mi caso, también he tenido una carpeta bin con ensambles que se actualizan desde otros ensambles en el servidor IIS. Nuevamente, asegurar que estos se ejecuten en una carpeta de aplicaciones separada resultó en éxito.

HTH

Sé que ya hay muchas soluciones para esto, pero pensé que solo mencionaría lo que me solucionó.

Mi configuración estaba configurada para depurar. Cambiarlo a Release hizo el truco para mí.

Asegúrese de que el espacio de nombres en su global.asax.cs coincida con el espacio de nombre de su aplicación web

He caído en esto. He leído y probado todas las soluciones posibles que se dieron antes. Comprobando la ruta de comstackción, comstackción, reconstrucción, limpieza, reinicio de IIS y VS2015, reinstale todos los paquetes nuget, compilándolos uno por uno, etc. …

De repente recordé que VS mantiene algunos archivos temporales ASP en las carpetas del sistema … Creo que debería intentarlo, después de todo, eso no podría empeorar. Entonces vacié:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 

Y todo vuelve a funcionar … Es extraño que este problema tenga soluciones posibles tan diferentes …

Asegúrese de no tener que abrir el proyecto MVC como Archivo-> Abrir sitio web, use Archivo-> Abrir proyecto en su lugar.

Obtengo este problema cada vez que guardo un archivo que se comstack dinámicamente (ascx, aspx, etc.). Espero unos 8-10 segundos y luego desaparece. Es terriblemente molesto.

Pensé que era quizás un problema de IIS Express, así que probé en el servidor de desarrollo integrado y aún lo recibo después de guardar un archivo. Estoy ejecutando una aplicación MVC, también estoy usando T4MVC, tal vez ese sea un factor …

Lo que funcionó para mí fue reiniciar Visual Studio.

Intenté reconstruir manualmente, realizar una limpieza y reconstrucción, y eliminar la carpeta bin, lo cual no funcionó. Mi ruta de salida ya estaba establecida en bin \

Tuve este error frustrante en el entorno de desarrollo en Visual Studio, y resultó que la razón era bastante tonta. En resumen, si tiene más de un proyecto / sitio web en solución: asegúrese de que el puerto al que está intentando acceder es el mismo que el configurado en Propiedades del proyecto-> Web.

En mi caso, el error fue causado porque estaba usando un puerto diferente para acceder al sitio web (en el navegador), mientras que al proyecto en solución se le asignó otro puerto. Para explicar un poco más, tenía dos proyectos de sitios web en mi solución Sitio web1 (puerto asignado 8001 en ISS por Visual Studio) y Sitio web2 (puerto asignado 8101 en ISS por Visual Studio). Así que, aunque estaba construyendo el sitio web1, intentaba acceder al sitio web usando locahost: 8101.

Ahora que finalmente me di cuenta del problema, veo que el comentario de @StingyJack aborda el problema similar también.

Si cambió un espacio de nombre, asegúrese de hacer clic derecho y refactorizar.

Esto podría suceder muy a menudo si cambia su espacio de nombres. Devuelve el nombre de tu espacio de nombres, tal como solía ser, ¡y eso debería hacer que funcione!

En algunas circunstancias, los nuevos proyectos que crea no están configurados por defecto para su construcción. Si hace clic con el botón derecho en su solución, elija Properties y elija Configuration Properties | Nodo de Configuration a la izquierda y asegúrese de que su proyecto tenga una marca de verificación debajo de la columna Build . En circunstancias normales, descubrí que esto sucede de manera predeterminada. En otras circunstancias (tengo una solución Web Api / Xamarin Android un tanto compleja y iOS / Mvc 5 que muestra este comportamiento), la marca de verificación no está presente.

Esto está relacionado con las otras respuestas: si el ensamblaje de su proyecto web no está disponible, obtiene este error. Pero este podría ser un escenario común, especialmente porque de hecho comstack su solución, el proyecto simplemente no se construye.

Obtuve este error porque mi control de versiones se había configurado para ignorar mi carpeta bin . Muy estúpido, pero tal vez alguien más se beneficie.

Me encontré con este problema y veo todo tipo de respuestas pero nada ha sido aceptado. Después de un tiempo descubrí que simplemente construir el sitio web antes de intentar resolver solucionó mi problema.

Tuve este error nuevamente y ninguno de los anteriores funcionó para mí. Tuve que eliminar el siguiente nodo en el archivo .csproj: .... . Reloaded VS y funcionó.

FYI, VS fue capaz de recrear el nodo y luego recreé el sitio web en IIS (a través de VS) y funcionó perfectamente.

Espero que esto ayude a alguien.