47 votes

La coloration syntaxique Razor ne fonctionne pas dans VS 2012 avec MVC 5

Je m'amuse avec MVC 5 RC 1 dans Visual Studio 2013 RC. Cela fonctionne très bien.

J'ai maintenant mis à niveau un projet MVC 4 existant dans VS 2012 vers MVC 5 de la même manière que celle décrite. aquí

J'ai également modifié le(s) web.config(s) - voir " mise à niveau de MVC4 vers MVC5 pre-Release "

Tout (construction, exécution de l'application Web, même intellisense) fonctionne parfaitement, sauf la coloration syntaxique du code Razor/C# dans les vues.

Je l'ai également essayé avec un projet MVC 5 créé dans VS 2013. Même résultat. Je suppose donc que VS 2012 ne "comprend" pas les nouveaux assemblages !

Une solution de contournement connue ou des idées pour récupérer la mise en évidence ?

75voto

Andreas Points 1107

Microsoft a publié une nouvelle version de ASP.NET Web Tools pour VS 2012. Après l'installation, la coloration syntaxique est de nouveau disponible.

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

L'installation de VS 2012 Update 4 n'a pas suffi.

16voto

C Style Points 206

ASP.NET and Web Tools 2013.1 pour Visual Studio 2012 est maintenant disponible et devrait résoudre le problème d'intellisense MVC5 avec VS 2012.

Cette version apporte une tonne d'améliorations importantes, dont les suivantes améliorations fantastiques apportées à ASP.NET MVC 5, Web API 2, Scaffolding et Entity Framework aux utilisateurs de Visual Studio 2012 et Visual Studio 2012 Express for Web.

Vous pouvez télécharger la mise à jour : 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

Au modérateur : C'est peut-être juste un lien de téléchargement, mais cela résout le problème, cela a fonctionné pour moi et pour les utilisateurs qui ont voté cette réponse. Si vous le supprimez, veuillez en donner la raison, merci !

9voto

flipchart Points 3315

Cette réponse prétend que VS2012 ne peut pas comprendre Razor 3, donc vous (et moi) devrez passer à VS2013

6voto

Knaģis Points 9927

J'utilise actuellement une solution de contournement pour que l'IntelliSense fonctionne dans VS2012 (je suppose que cela ne fonctionnerait pas correctement a) si j'utilisais VS2013 pour le même projet ; b) si j'essayais d'utiliser les fonctionnalités de Razor 3) :

Changez le web.config pour utiliser l'ancien webpages version :

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

Pour s'assurer que cela n'a pas d'impact sur la production, j'ai ajouté une transformation web.config :

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

Malheureusement, cette solution de contournement présente des problèmes (que j'ai remarqués jusqu'à présent) :

  • Les méthodes d'extension (comme Html.RenderPartial() ne sont pas reconnus et apparaissent comme une erreur dans le concepteur).

6voto

Knaģis Points 9927

J'ai obtenu cette réponse d'un développeur de Microsoft :

La prise en charge des outils MVC 5/Razor 3 pour VS 2012 n'est pas encore disponible. Nous espérons que ce support sera disponible à la mi-novembre.

La réponse acceptée est donc vraie pour l'instant mais nous pouvons prévoir d'avoir bientôt ce support dans VS2012 également.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X