Razor View tirando “El nombre ‘modelo’ no existe en el contexto actual”

Después de una refactorización significativa en mi aplicación MVC 4, y Razor muestra este error al depurar las Vistas:

El nombre ‘modelo’ no existe en el contexto actual.

Esta es la línea ofensiva de código:

@model ICollection 

Sé que el uso de @model es correcto.

¿Por qué está pasando esto? ¿Cómo puedo arreglarlo?

Creo que has arruinado el archivo web.config que vive en la carpeta Vistas.

Cree un nuevo proyecto que tenga como objective el mismo .NET Framework y copie su archivo Views / web.config encima de su proyecto actual.

Esto solucionará tu problema.

Además, Dudeman3000 comentó “si tienes Áreas en tu proyecto MVC, todas tienen archivos Views \ web.config también”.

asegúrese de tener lo siguiente tanto en su sitio web.config como en el directorio de vistas web.config en la sección appSettings

  

Para el uso de MVC5:

  

(Y solo existe en el archivo principal Web.config).

Aquí esta lo que hice:

  1. Cerrar Visual Studio
  2. Eliminar el archivo SUO
  3. Reiniciar Visual Studio

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.

Tuve el mismo problema, creé un nuevo proyecto y copié los archivos web.config como lo recomendaba la respuesta de Gupta, pero eso no me solucionó las cosas. Revisé la respuesta de Alex y Liam, pensé que esta línea debe haber sido copiada del nuevo 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í.

En mi caso, recientemente actualicé desde MVC 4 a MVC 5, lo que estropea bastante la web. Configurar bastante mal. Este artículo ayudó enormemente.

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.

Cambiar la siguiente línea en la carpeta web.config of view resolvió el mismo error.

De

   

A

  

En mi caso, el siguiente código resulta útil. Coloque el código debajo del archivo Web.config debajo de 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!

Encontré una solución. Si desea actualizar la versión de afeitar o mvc 4 a 5, cambie algunas líneas.

Código antiguo en Views / web.config

  

Reemplazado con

  

sectionGroup debe cambiar.

Cambiar a @Modelo de @model hizo el trabajo por mí.

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é en el objective 4.5. Después de recomstackr dicha lib para 4.5, el sitio web comstackría.

Además, no hubo errores de comstackción, pero el problema se informó como una “advertencia”. Así que asegúrese de leer todas las advertencias si las hay.

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 reposo) cada vez que abriera un archivo .cshtml.

Ninguna de las respuestas existentes funcionó para mí, pero encontré lo que funcionó para mí al comparar los archivos .csproj de diferentes proyectos. La siguiente edición manual del archivo .csproj XML resolvió el problema Razor-intellisense para mí, tal vez esto puede ayudar a alguien más que ha intentado todas las demás respuestas sin éxito. La clave es eliminar cualquier instancia de False en la ‘:

   path\to\Foo    path\to\Bar    

No sé cómo llegaron allí o qué hicieron exactamente, tal vez alguien más inteligente que yo pueda agregar esa información. Estaba feliz de finalmente resolver este problema.

Estaba intentando agregar una vista que estaba fuera de mi carpeta “Vistas” (solo para organizar mi código de forma diferente, supongo), cuando tuve este problema. La creación de la vista dentro de Vistas (como por convención) lo resolvió.

En mi caso me faltaba @ al comienzo del foreach

  @foreach (var item in Model) {   @Html.DisplayFor(modelItem => item.Label)   @Html.DisplayFor(modelItem => item.Value)   } 

Para resolver esto, me aseguré de actualizar a la versión más nueva de MVC usando NuGet y Package Manager Console.

Install-Package Microsoft.AspNet.Mvc -Version 5.2.4

Luego se actualizó 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á a continuación:

En el archivo web.config principal, asegúrese de que la página web: versión sea correcta. Aquí es donde se puede encontrar (ignorar las otras claves):

        

Luego, busque las otras versiones enumeradas en los ensamblajes, verifique la versión del ensamble contra la versión de la biblioteca que figura en las referencias de su proyecto. Es posible que no necesite todos estos.

            

Runtime assemblyBinding también debería mostrar la “nueva versión”, ver dónde se lee NewVersion 5.2.4.0? Pero también revise todas las otras versiones.

                     

ENTONCES en la sección Vistas web.config, asegúrese de que Razor es la versión correcta:

    

Y Lastlt está la sección Páginas de las Vistas Web.Config

       

si toma este problema sin ningún cambio en su proyecto como yo, necesita cambiar su web.config que se colocó en Ver Carpeta. simplemente escriba una línea nueva con Intro o Eliminar una línea vacía. luego guarda tu web.config y reconstruye. mi problema resuelto con esta solución

En mi caso, eliminé el archivo web.config de la carpeta Vistas por accidente. Lo agregué de nuevo, y estaba bien.

@Model el problema utilizando @Model lugar de solo el model al imprimir las variables.

¡DEBE reiniciar Visual Studio para que cualquiera de los cambios en estas respuestas surta efecto!

Siento que esto necesitó algo de exposición, porque intentas muchos cambios y puede encontrar la combinación correcta, pero nunca lo sabrás a menos que realmente intentes reiniciar, y probablemente te pierdas la solución todos juntos.

Es probable que use en el código una variable llamada model .