asp.net mvc - puede - Error: «No se pudo cargar el tipo MvcApplication»
no se puede cargar el archivo o ensamblado microsoft web infrastructure (30)
Estoy recibiendo el error
No se pudo cargar el tipo MvcApplication
Cuando trato de ejecutar mi sitio web.
¿Cómo corregirlo?
- Haga clic derecho en el proyecto dentro de la solución que está fallando.
- Descargar proyecto
- Proyecto de recarga
- Proyecto de construcción
- Solución de reconstrucción
Ahh esto era molesto.
Recibí este error después de un corte de energía y volví a mi proyecto.
Intenté reiniciar VS. Intenté establecer la ruta de salida a / bin. Revisé mis espacios de nombre.
Pero lo que funcionó para mí fue reconstruir la solución.
Solución de reconstrucción!
Asegúrate de no tener que abrir el proyecto MVC como Archivo-> Abrir sitio web, usa Archivo-> Abrir proyecto .
Asegúrese de que el espacio de nombres en su global.asax.cs coincida con el espacio de nombres de su aplicación web
Elimine el contenido de la carpeta bin del sitio (use el explorador de archivos para esto). Reconstruir.
En algunas circunstancias, los nuevos proyectos que cree no están configurados por defecto para construir. 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 en la columna Build
. En circunstancias normales, he encontrado que esto sucede por defecto. En otras circunstancias (resulta que tengo una solución algo compleja de Web Api / Xamarin para Android y iOS / Mvc 5 que presenta 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, aparece este error. Pero este podría ser un escenario común, especialmente porque de hecho compila su solución, el proyecto simplemente no se construye.
Esto podría suceder muy a menudo si cambia su espacio de nombres. Devuelva el nombre de su espacio de nombres, como solía ser, ¡y eso debería hacer que funcione!
Esto también puede suceder al ejecutar el proyecto en Visual Studio si su IIS Express tiene / está hospedando un proyecto antiguo / diferente usando la misma asignación de puerto.
Para solucionar este problema, puede cambiar la asignación de puerto para este proyecto o cerrar IIS Express.
He caído en esto. He leído y probado todas las soluciones posibles que se dieron antes. Verificando la ruta de compilación, compile, reconstruya, limpie, reinicie IIS y VS2015, reinstale todos los paquetes nuget, compilándolos uno por uno, etc, ...
De repente recordé que VS mantiene algunos archivos temporales de ASP en las carpetas del sistema ... Creo que debería intentarlo, después de todo, eso no podría empeorar. Así que 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 ...
La solución para mí fue hacer clic 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 asignado a la carpeta incorrecta (mostraba la carpeta para un proyecto TFS diferente . Daba la opción de asignarlo nuevamente a la carpeta correcta.
Lo he visto muchas veces en la última década y lo he vuelto a tener. Hay muchos problemas que resultan en el mismo error.
Una causa es el cambio de nombre de los archivos. Renombrar como predeterminado.aspx (los archivos .cs y diseñadores relacionados se renombran automáticamente). El código de código cambia, pero la línea Heredar en el marcado no. Cambiarlo manualmente. Comprueba 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 lo implementa. Esto podría deberse a que el entorno de despliegue no está estructurado de la misma manera. Por ejemplo, el error se produce si coloca su código en un directorio virtual debajo de una carpeta de aplicación, pero no ocurre si crea una nueva carpeta de aplicación y coloca todos sus archivos allí. No entiendo esto, ya que tengo la nueva carpeta secundaria / virtual configurada con los mismos permisos (o eso creo) y (creo) el grupo de aplicaciones debería funcionar igual para todo en una carpeta de aplicaciones determinada.
En mi caso, también he tenido una carpeta bin con ensamblados que se actualizan desde otros ensamblajes en el servidor IIS. Una vez más, asegurarse de que estos se ejecuten en una carpeta de aplicación separada resultó exitoso.
HTH
Lo que funcionó para mí fue reiniciar Visual Studio.
Intenté reconstruir manualmente, realizando una limpieza y reconstrucción, y eliminando la carpeta bin que no funcionó. Mi ruta de salida ya estaba configurada en bin /
Me encontré con este mismo problema y veo todo tipo de respuestas, pero nada ha sido aceptado. Después de un poco descubrí que simplemente construir el sitio web antes de intentar ejecutar resolvió mi problema.
Me sale este problema cada vez que guardo un archivo que se compila 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 lo intenté en el servidor de desarrollo incorporado y aún lo recibo después de guardar un archivo. Estoy ejecutando una aplicación MVC, también estoy usando T4MVC, tal vez sea un factor ...
Mi solución: ¡Porque creé el problema! Había cambiado el espacio de nombres en Global.asax.cs
También debe cambiar el valor del atributo Herencias en Global.asax.
Por muy tonto que pueda sonar, lo intentó todo y no funcionó y finalmente reinició VS2012 para verlo funcionar nuevamente.
Recibí el mismo error e, a pesar de hacer todo lo mencionado aquí y en otros lugares, 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. Así que la namespace Test
debería haber sido namespace Test.WebUI
. ¡Un error tonto por supuesto y me da un poco de vergüenza escribir esto! Pero escribiendo con la esperanza de que un error similar de alguien más pueda llevarlo a comprobar este aspecto trivial también.
Recibí este error porque mi control de versión se había configurado para ignorar mi carpeta bin . Muy estúpido, pero tal vez alguien más se beneficiará.
Recibía este error porque estaba ejecutando el proyecto a pesar de algunos errores de tiempo de compilación. Esto no lo noté.
Sé que ya hay muchas soluciones para esto, pero pensé que solo mencionaré lo que me lo resolvió.
Mi configuración fue configurada para depurar. Cambiarlo a Liberación hizo el truco para mí.
Si está alojando 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
.
Si ha cambiado un espacio de nombres, asegúrese de hacer clic derecho y refactorizar.
Simplemente haga un manual de construcción en su solución.
Si está utilizando IIS local, intente eliminar el registro del sitio web en el administrador de IIS y luego volver a crearlo manualmente.
Tuve el mismo problema y lo resolví con los siguientes pasos
- Ir a las propiedades del proyecto
- En la pestaña "Crear", establezca la ruta de salida a "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 la solución: asegúrese de que el puerto al que intenta acceder al sitio web sea 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 el proyecto en la solución tenía asignado otro puerto. Para explicar un poco más, tuve dos proyectos de sitio web en mi solución Sitio web1 (puerto asignado 8001 en ISS por Visual-Studio) y Sitio web2 (puerto asignado 8101 en ISS por parte de Visual-Studio). Entonces, a pesar de que estaba construyendo el Sitio web 1, estaba tratando de acceder al sitio web usando locahost: 8101.
Ahora que finalmente me di cuenta del problema, veo que el comentario de @ StingyJack también aborda el problema similar.
Tuve este error otra vez y nada de lo anterior funcionó para mí. Tuve que eliminar el siguiente nodo en el archivo .csproj: <VisualStudio>....</VisualStudio>
. Reloaded VS y funcionó.
Para su información, VS pudo 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.
Verifique el código detrás de la información, proporcionado en global.asax. Deben apuntar 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 ejemplo 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 );
}
}
}
Ya tenía bin/
en mi pestaña de compilación. Obtuve global.asax de otra copia del proyecto, pero eso 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.
[Extraído de la pregunta]
Si recibe este error: "No se pudo cargar el tipo MvcApplication", observe la ruta de salida de su proyecto y asegúrese de que esté configurado en ''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 aparece un mensaje que dice que no se puede encontrar la información del ensamblado.
-Para mí, la solución fue cambiar la ruta de salida en la pestaña de compilación. Cambié la ruta de salida a bin/
y el error desapareció.
-Otra solución podría ser que tiene un conjunto de proyectos de inicio incorrecto.