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


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

Ahora actualizé un proyecto MVC 4 existente en VS 2012 a MVC 5 de la misma manera que se describe aquí

También cambié la web.config(s) - ver " actualización de MVC4 a MVC5 "

Todo (compilar, ejecutar la aplicación web, incluso intellisense) funciona perfectamente, excepto el resaltado de sintaxis del código Razor/C# en las vistas.

También lo probé con un proyecto MVC 5 creado en VS 2013. El mismo resultado. Así que supongo que VS 2012 no "entiende" las nuevas asambleas?!

¿Alguna solución o idea conocida para recuperar el resaltado?

Author: Community, 2013-09-27

7 answers

Microsoft lanzó una nueva versión de ASP.NET Herramientas Web para VS 2012. Después de instalar el resaltado de sintaxis está de vuelta.

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

Instalar VS 2012 Update 4 no fue suficiente.

Un conjunto de instaladores fuera de línea está disponible. Los instaladores fuera de línea son más fáciles de usar que el invocador de Herramientas de plataforma Web (WebNode11Pack.exe @ ~114KB):

Si desea un instalador fuera de línea, por favor vaya http://www.microsoft.com/en-us/download/details.aspx?id=41532

  • AspNetWebTools2013_1Setup.exe @ ~39MB
  • WebToolsExtensionsVS.msi (para Visual Studio 2012 standard edition[s]) @ ~21MB
  • WebToolsExtensionsVWD.msi (para Visual Studio 2012 free "Web" edition[s]) @ ~21MB
 74
Author: Andreas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-07 19:57:36

ASP.NET y Web Tools 2013.1 para Visual Studio 2012 ahora ha sido lanzado y debe resolver el problema MVC5 intellisense con VS 2012.

Esta versión trae un montón de grandes mejoras, e incluyen algunos fantásticas mejoras a ASP.NET MVC 5, Web API 2, Andamiaje y Entity Framework para 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 por favor proporcione una razón, gracias!

 16
Author: hatsrumandcode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-14 18:50:24

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

 9
Author: flipchart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:25:29

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

Cambia la web.configuración para usar la antigua webpages versión:

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

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

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

Desafortunadamente, esta solución tiene problemas (que he notado far):

  • Los métodos de extensión (como Html.RenderPartial() no se reconocen y se muestran como error en el diseñador).
 6
Author: Knaģis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-22 13:50:06

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 apoyo a mediados de noviembre.

Así que la respuesta aceptada es cierta por ahora, pero podemos planear tener pronto este soporte en VS2012 también.

 6
Author: Knaģis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-24 08:07:03

Instale el "ASP.NET y WebTools 2013.1 para Visual Studio 2012" en Microsoft Platform Installer

 3
Author: chsword,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-31 07:28:25

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

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

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

 1
Author: Ryan Griffith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-01 20:32:18