Después de una refactorización significativa en mi aplicación MVC 4, y Razor muestra este error al depurar Vistas:
El nombre 'modelo' no existe en el contexto actual.
Esta es la línea de código ofensiva:
@model ICollection<DataSourceByActive>
Sé que el uso de @model
es correcto.
¿Por qué está pasando esto? ¿Cómo puedo arreglarlo?
asp.net-mvc
asp.net-mvc-4
razor
Kehlan Krumme
fuente
fuente
Respuestas:
Creo que ha estropeado el archivo web.config que se encuentra en la carpeta Vistas.
Cree un nuevo proyecto dirigido al mismo marco .NET y copie su archivo Views / web.config encima del que está en su proyecto actual. Esto solucionará tu problema.
Además, como comentó Dudeman3000, si tiene Áreas en su proyecto MVC, todas ellas
Views\web.config
también tienen archivos.fuente
This will fix your problem.
No lo hizo.Asegúrese de tener lo siguiente tanto en su sitio
Web.config
comoWeb.config
en el directorio de vistas en laappSettings
secciónPara uso MVC5:
(Y solo existe en el
Web.config
archivo principal ).fuente
3.0.0.0
. (Y solo existe en el archivo principal Web.config).2.0.0.0
lugar de3.0.0.0
. Cambiar eso solucionó el problema. ¡Gracias!Aquí esta lo que hice:
El archivo .suo es un archivo oculto en la misma carpeta que el archivo de solución .svn y contiene las Opciones de usuario de Visual Studio.
fuente
web.config
archivo para laASP.NET Core
aplicación, por lo que esto funcionó para mí (también agregó algunas extensiones para mejorar la inteligencia)..vs
carpeta ayudó.Tuve el mismo problema, creé un nuevo proyecto y copié los archivos web.config según lo recomendado en la respuesta de Gupta, pero eso no me solucionó las cosas. Verifiqué la respuesta de Alex y Liam, pensé que esta línea debía haberse copiado de la nueva web.config, pero parece que el nuevo proyecto en sí no tenía esta línea (MVC5):
Agregar la línea al archivo views / web.config resolvió el problema para mí.
fuente
Cambiar la siguiente línea en la carpeta web.config of view resolvió el mismo error.
De
A
fuente
System.Web.Mvc
referencia de ensamblaje para confirmar la versión principal que necesita.En mi caso, recientemente actualicé de MVC 4 a MVC 5, lo que arruina bastante el web.config. Este artículo fue de gran ayuda.
http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web- api-2
La conclusión es que debe verificar todas las referencias de número de versión en su web.config y Views / web.config para asegurarse de que estén haciendo referencia a las versiones actualizadas correctas asociadas con MVC 5.
fuente
Cambiarme a @Model de @model hizo el trabajo por mí.
@model representa el tipo de objeto Ver modelo. @Model representa el objeto Ver modelo.
fuente
He encontrado una solucion. Si desea actualizar la versión de afeitar o mvc 4 a 5, cambie algunas líneas.
Código antiguo en Views / web.config
Reemplazadas con
sectionGroup
debe ser el cambio, también.fuente
En mi caso, el siguiente código resulta útil. Coloque el código siguiente en el archivo Web.config en la carpeta Vistas.
Una vez que se actualiza el código, asegúrese de limpiar y reconstruir la solución. ¡Espero que esto lo pueda ayudar!
fuente
Ninguna de las respuestas existentes funcionó para mí, pero encontré lo que funcionó para mí al comparar los
.csproj
archivos de diferentes proyectos. La siguiente edición manual del.csproj
archivo XML resolvió el problema de Razor-intellisense para mí, tal vez esto pueda ayudar a alguien más que haya intentado todas las otras respuestas en vano. La clave es eliminar cualquier instancia de<Private>False</Private>
en el<Reference>
's:No sé cómo llegaron allí o exactamente qué hacen, tal vez alguien más inteligente que yo pueda agregar esa información. Estaba feliz de finalmente resolver este problema.
fuente
Por alguna razón, mi web.config tenía 0.0.0.0 en el atributo oldVersion:
cambiar a 1.0.0.0 fue la solución:
fuente
Estaba usando un proyecto MVC4 con Visual Studio 2019, y resultó que VS 2019 no es compatible con MVC 4 de fábrica. Tienes que instalar esto.
Pasos:
NOTA: Requerido para que el estudio visual esté cerrado
fuente
En mi caso, el problema era que después de actualizar el proyecto de MVC 4 a MVC 5, de alguna manera me perdí un cambio de versión en Views / web.config:
Todavía tenía la antigua versión 2.0.0.0. Después de cambiar la versión a 3.0.0.0, todo comenzó a funcionar correctamente.
Además, debido a este problema, Visual Studio 2015 Community Edition comenzaría a atacar la CPU (30-40% de uso en inactivo) cada vez que abriera un archivo .cshtml.
fuente
Tuve el mismo problema al implementar en un Servicio de aplicaciones de Azure
En mi caso fue porque ~ / Views / Web.config no estaba incluido en el proyecto.
Funcionó en IIS Express pero cuando lo implementé en azul, obtuve el mismo error. Al no estar incluido en el archivo .csproj, no se implementó.
La solución fue asegurar que ~ / Views / Web.config esté incluido en el proyecto.
Si va al explorador de soluciones y hace clic en el icono "Mostrar todos los archivos", luego abra Vistas, puede ver un archivo Web.config no incluido debajo.
Agrégalo, vuelve a publicar y Bob es tu tío.
fuente
Para mí, el problema era una versión conflictiva de .NET en una de las bibliotecas que importé recientemente. La biblioteca que importé se compiló para 4.5.2 y el sitio ASP.NET MVC lo importé a 4.5. Después de recompilar dicha lib para 4.5, el sitio web se compilaría.
Además, no hubo errores de compilación, pero el problema se informaba como una "advertencia". Así que asegúrese de leer todas las advertencias si hay alguna.
fuente
Para resolver esto, me aseguré de actualizar a la última versión de MVC usando NuGet y Package Manager Console.
Install-Package Microsoft.AspNet.Mvc -Version 5.2.4
Luego actualizado a la última versión de Razor
Install-Package Microsoft.AspNet.Razor -Version 3.2.4
Luego cambié todos los archivos web.config para reflejar el cambio. Como verás a continuación:
En el archivo web.config principal, asegúrese de que las páginas web: la versión sea correcta. Aquí es donde se puede encontrar (ignore las otras claves):
Luego busque las otras versiones enumeradas en los ensamblajes, verifique la versión del ensamblaje con la versión de la biblioteca que figura en las referencias de su proyecto. Es posible que no necesite todo esto.
Runtime assemblyBinding también debería mostrar la "nueva versión", ver dónde se lee NewVersion 5.2.4.0? Pero también verifique todas las otras versiones.
ENTONCES en la sección Vistas Web.Config, asegúrese de que Razor sea la versión correcta:
Y Lastlt está la sección de Páginas de la Web de Vistas.
fuente
Si toma este problema sin ningún cambio en su proyecto como yo, necesita cambiar su web.config que se encuentra en Ver carpeta. simplemente escriba una nueva línea con Entrar o Eliminar una línea vacía. luego guarde su web.config y reconstruya. mi problema resuelto con esta solución
fuente
Intenté agregar una vista que estaba fuera de mi carpeta "Vistas" (solo para organizar mi código de manera diferente, supongo), cuando tuve este problema. Crear la vista dentro de Vistas (como por convención) lo resolvió.
fuente
En mi caso, me faltaba @ al comienzo del foreach
fuente
En mi caso, eliminé el archivo web.config de la carpeta Vistas por accidente. Lo agregué de nuevo, y estuvo bien.
fuente
Resolví el problema usando en
@Model
lugar de solomodel
al imprimir las variables.fuente
Es probable que use en el código una variable llamada
model
.fuente