web-dev-qa-db-fra.com

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

Je joue avec MVC 5 RC 1 dans Visual Studio 2013 RC. Fonctionne très bien.

Maintenant, j'ai mis à niveau un projet MVC 4 existant dans VS 2012 vers MVC 5 de la même manière que décrit ici

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

Tout (créer, exécuter une application Web, même intellisense) fonctionne parfaitement, sauf la mise en évidence de la syntaxe 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 revenir en surbrillance?

47
Andreas

Microsoft a publié une nouvelle version des outils Web ASP.NET pour VS 2012. Après l'installation, la mise en évidence de la syntaxe est de retour.

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'était pas suffisante.

Un ensemble d'installateurs hors ligne est disponible. Les programmes d'installation hors ligne sont plus faciles à utiliser que l'invocateur des outils de la plate-forme Web (WebNode11Pack.exe @ ~ 114 Ko):

Si vous voulez un programme d'installation hors ligne, veuillez passer à http://www.Microsoft.com/en-us/download/details.aspx?id=41532

  • AspNetWebTools2013_1Setup.exe @ ~ 39 Mo
  • WebToolsExtensionsVS.msi (pour Visual Studio 2012 édition standard [s] ) @ ~ 21 Mo
  • WebToolsExtensionsVWD.msi (pour Visual Studio 2012 édition "Web" gratuite ) @ ~ 21 Mo
75
Andreas

ASP.NET et Web Tools 2013.1 pour Visual Studio 2012 sont désormais disponibles et devraient résoudre le problème d'intellisense MVC5 avec VS 2012.

Cette version apporte une tonne de grandes améliorations et inclut des améliorations fantastiques à ASP.NET MVC 5, API Web 2, Scaffolding et Entity Framework pour les 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-pour-visual-studio-2012.aspx

Pour le modérateur: Ce pourrait être juste un lien de téléchargement, mais cela résout le problème, cela a fonctionné pour moi et cela a fonctionné pour les utilisateurs qui ont voté cela comme réponse. Si vous souhaitez le supprimer, veuillez fournir une raison, merci!

16
hatsrumandcode

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

9
flipchart

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

Modifiez le fichier web.config pour utiliser l'ancienne version webpages:

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

Pour m'assurer que cela n'a aucun 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 a des problèmes (que j'ai remarqués jusqu'à présent):

  • Les méthodes d'extension (comme Html.RenderPartial() ne sont pas reconnues et apparaissent comme des erreurs dans le concepteur).
6
Knaģis

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

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

La réponse acceptée est donc vraie pour le moment, mais nous pouvons également envisager d'avoir bientôt ce support dans VS2012.

6
Knaģis

installer le "ASP.NET et WebTools 2013.1 pour Visual Studio 2012" dans le programme d'installation de la plate-forme Microsoft

3
chsword

Pour moi, mon problème était que mes fichiers de construction étaient sortis dans un répertoire autre que bin. Une fois mes fichiers sortis sur bin, ma coloration syntaxique est revenue.

Une façon de résoudre ce problème consiste à créer une action post-génération qui copie les fichiers dans le dossier bin racine du projet (par rapport à un filtre en dehors du projet) dans votre répertoire cible.

L'article suivant explique: http://www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013/

1
Ryan Griffith