Estoy tratando de usar ViewBag en mi aplicación, tengo todas las dlls recientes, la última versión de MVC 3, pero todavía recibo el error:
"El nombre 'ViewBag' no existe en el contexto actual"
Incluso he desinstalado y vuelto a instalar MVC 3 y, sin embargo, no hay cambios.
Además, no creo que los dll aparezcan en el GAC.
Cual puede ser mi problema? ¿O cómo agregar los dll al GAC?
dll
asp.net-mvc-3
gac
viewbag
brillante
fuente
fuente
Respuestas:
Debe agregar la configuración de Razor específica de MVC a su web.config. Vea aquí: Extensiones Razor HtmlHelper (u otros espacios de nombres para vistas) no encontradas
Utilice la herramienta de actualización MVC 3 para asegurarse automáticamente de tener los valores de configuración correctos.
fuente
~/Views
ubicación normal , copie también~/Views/Web.config
en esa ubicación.Estaba teniendo el mismo problema. Resultó que me faltaba el
./Views/Web.config
archivo, porque creé el proyecto desde una aplicación ASP.NET vacía en lugar de usar una plantilla ASP.NET MVC.Para ASP.NET MVC 5, un
./Views/Web.config
archivo vanilla contiene lo siguiente:Agregar un
./Views/Web.config
archivo con este contenido solucionó este problema.fuente
<add namespace="System.Web.Optimization"/>
Intente limpiar y reconstruir. Funcionó en mi caso.
fuente
Tuve el mismo problema en una solución que se había actualizado a MVC 5 en Visual Studio 2015.
En el archivo web.config dentro de la carpeta Vistas (no la raíz web.config), actualicé el número de versión al que se hace referencia en
<configSections>
de2.0.0.0
a3.0.0.0
.fuente
Después de probar diferentes cosas, resulta que era VS cache. Puede resolverlo eliminando los archivos de caché ubicados en:
Cerré mi proyecto, eliminé los archivos en esa ruta y volví a abrir mi proyecto, limpié la solución y la construí de nuevo y el problema se resolvió
Los archivos se volverán a crear la próxima vez que inicie Visual Studio.
fuente
%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
Tuve el mismo problema y crimbo me dio la pista correcta, fue causado por el archivo ./Views/Web.config que estaba presente pero no contiene los espacios de nombres correctos, supongo ...
¡Creé un proyecto MVC5 en blanco e importé su ./Views/Web.config en mi proyecto existente y las ondas rojas debajo de cada uso de ViewBag desaparecieron!
fuente
Si usa Visual Studio 2013 y le gusta usar MVC 3, obtiene este error porque Visual Studio 2013 no es compatible con MVC 3 de forma nativa (incluso si cambia ./Views/web.config), solo MVC 4: https: // msdn .microsoft.com / en-us / library / hh266747.aspx
fuente
Tenía un
./Views/Web.Config
archivo, pero este error ocurrió después de publicar el sitio. Resulta que la propiedad de acción de compilación en el archivo se estableció en enNone
lugar deContent
. Cambiar esto paraContent
permitir que la publicación funcione correctamente.fuente
Tuve este problema después de cambiar el espacio de nombres predeterminado de la aplicación en el cuadro de diálogo Propiedades.
./Views/Web.Config contenía una referencia al antiguo espacio de nombres
fuente
En mi caso, cambiar la página web: Versión al valor adecuado resolvió mi problema, para mí el valor correcto era (2.0.0.0 en lugar de 3.0.0.0):
fuente
Después de probar todos los enfoques, ninguno de ellos funcionó para mí, ya que todo lo que tengo eran configuraciones correctas. finalmente
Eliminar todos los archivos de "temp" y "% temp%" del sistema ayudó a resolver este problema.
Abra el comando Ejecutar (Windows + R) y escriba las cadenas anteriores y elimine todos los archivos temporales.
fuente
Si ha probado todas las respuestas disponibles y aún no puede encontrar la respuesta, esto podría resolver el problema. Si tiene diferentes configuraciones de soluciones como Debug, Release, etc., establezca la ruta de salida del proyecto en 'bin' y compile el proyecto. Revertir el cambio después de compilar.
VS busca dlls en la carpeta bin
fuente
Ya había intentado eliminar el archivo bin y obj y reiniciar VS y no tuve suerte.
También he tenido este problema muchas veces y es un dolor resolverlo cada vez. A menudo se debe a que el archivo web.config no tiene la versión correcta de una de las referencias. Esto significa hacer clic en la referencia en Visual Studio para ver la versión en la pestaña de propiedades y luego hacerla coincidir con la versión en los archivos web.config.
Otra forma es (si es posible) actualizar a una versión posterior del marco .net y luego eliminar los archivos bin / obj y reiniciar Visual Studio. Solo puedo asumir que está cambiando algo en el
Una verificación rápida de la diferencia entre el archivo csproj en realidad no muestra ninguna diferencia importante ... Pero las diferencias que mostró fueron (agregué (eliminar) para mostrar la línea anterior)
En el archivo Web.Config (no en el de Ver)
También se agregó (al mismo archivo web.config) pero lo eliminé manualmente
Finalmente, en Package Manager Console, agregue
update-package
Ejecute el sitio web localmente y vea los errores de compilación que se corrigieron en mi segundo párrafo (que coinciden con las versiones de las referencias)
fuente
Actualicé las páginas web: Versión en la carpeta ./Views/Web.Config, pero esta configuración también estaba presente en web.config en la raíz. Actualice ambos o elimínelos de la raíz web.config
fuente
Como ya mencionó @Wilson Vallecilla. Siga los pasos a continuación para eliminar la caché:
Siga la ruta a continuación para descubrir los archivos:
Cerré mi proyecto, eliminé los archivos en esa ruta y volví a abrir mi proyecto, limpié la solución y la construí de nuevo y el problema se resolvió
Eliminar sus archivos ASP.NET temporales también ayuda. C: \ Users \ your.name.here \ AppData \ Local \ Temp \ Temporary ASP.NET Files.
Esto funciona para mi.
¡Gracias!
fuente
Para MVC5, en caso de que esté creando una aplicación desde cero. Debe agregar un archivo web.config a la carpeta Vistas y pegar el siguiente código en él.
Tenga en cuenta que para MVC 3 tendrá que cambiar la versión a 3.0.0.0 en
Puede que tenga que cerrar y abrir la página * .cshtml nuevamente para ver los cambios.
fuente