tag sintaxis mvc cshtml c# razor visual-studio-2012 visual-studio-2013 asp.net-mvc-5

c# - cshtml - sintaxis razor mvc 5



El resaltado de sintaxis Razor no funciona en VS 2012 con MVC 5 (7)

ASP.NET y Web Tools 2013.1 para Visual Studio 2012 ya se han lanzado y deberían resolver el problema intellisense MVC5 con VS 2012.

Este lanzamiento trae un montón de grandes mejoras e incluye algunas mejoras fantásticas para ASP.NET MVC 5, Web API 2, Scaffolding y Entity Framework para los usuarios de Visual Studio 2012 y Visual Studio 2012 Express para Web.

Puede descargar la actualización: http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx

Para el moderador: podría ser solo un enlace de descarga, pero esto resuelve el problema, funcionó para mí y funcionó para los usuarios que votaron esto como respuesta. Si va a eliminarlo, proporcione un motivo, ¡gracias!

Estoy jugando con MVC 5 RC 1 en Visual Studio 2013 RC. Funciona muy bien

Ahora actualicé un proyecto MVC 4 existente en VS 2012 a MVC 5 de la misma manera que se describe here

También cambié el archivo web.config (s) - vea " actualización de MVC4 a MVC5 "

Todo (compilación, ejecución de aplicaciones web, incluso intellisense) funciona perfectamente, excepto el resaltado de sintaxis del código Razor / C # en las vistas.

También probé con un proyecto MVC 5 creado en VS 2013. Mismo resultado. Entonces, ¿supongo que VS 2012 no "entiende" las nuevas asambleas?

¿Alguna solución o idea conocida para volver a destacar?


Actualmente estoy usando una solución para hacer que IntelliSense funcione en VS2012 (supongo que esto no funcionaría correctamente a) si estuviera usando VS2013 para el mismo proyecto; b) si intenté usar las funciones de Razor 3):

Cambia el web.config para usar la versión anterior de webpages :

<add key="webpages:Version" value="2.0.0.0" />

Para asegurarme de que esto no afecte la producción de ninguna manera, agregué una transformación web.config:

<add key="webpages:Version" value="3.0.0.0" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />

Lamentablemente, esta solución tiene problemas (que he notado hasta ahora):

  • Los métodos de extensión (como Html.RenderPartial() no se reconocen y aparecen como errores en el diseñador).

Microsoft lanzó una nueva versión de ASP.NET Web Tools para VS 2012. Después de instalar la sintaxis, vuelve a estar resaltado.

http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx

La instalación de VS 2012 Update 4 no fue suficiente.

Un conjunto de instaladores sin conexión está disponible. Los instaladores sin conexión son más fáciles de usar que el invocador de Web Platform Tools (WebNode11Pack.exe @ ~ 114 KB):

Si desea un instalador sin conexión, vaya a http://www.microsoft.com/en-us/download/details.aspx?id=41532

  • AspNetWebTools2013_1Setup.exe @ ~ 39MB
  • WebToolsExtensionsVS.msi (para la edición estándar de Visual Studio 2012) @ ~ 21MB
  • WebToolsExtensionsVWD.msi (para Visual Studio 2012 gratis "Web" edition [s] ) @ ~ 21MB

Para mí, mi problema era que mis archivos de compilación se enviaban a un directorio que no era bin . Una vez que mis archivos salgan a bin , entonces mi resaltado de sintaxis regresó.

Una forma de solucionar esto es crear una acción posterior a la compilación que copie los archivos en la carpeta del bin raíz del proyecto (frente a un filtro fuera del proyecto) en su directorio de destino.

El siguiente artículo explica: http://www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013/


Recibí esta respuesta del desarrollador de Microsoft:

El soporte de herramientas MVC 5 / Razor 3 para VS 2012 no se ha enviado todavía. Esperamos enviar este soporte a mediados de noviembre.

Entonces, la respuesta aceptada es cierta por ahora, pero también podemos planear contar pronto con este apoyo en VS2012.


instale el "ASP.NET y WebTools 2013.1 para Visual Studio 2012" en el instalador de plataforma de Microsoft


Esta respuesta afirma que VS2012 no puede entender Razor 3, por lo que usted (y yo) tendremos que actualizar a VS2013