web-dev-qa-db-fra.com

Razor intellisense ne fonctionne pas dans VS 2015

Lorsque je charge mes projets VS2013 en 2015, toutes mes vues de rasoir sont remplies de traits soulignés de rouge.

@model, @Scripts @url, @ Html.Partial, expressions lambda

Intellisense est maintenant assez inutile car il semble manquer la moitié des options.

Les solutions que j'ai vues impliquaient la suppression du dossier .vs et de devenv.exe/ResetUserData, mais ils ne fonctionnent pas pour moi.

Je suis sur une nouvelle installation de VS 2015 Community en utilisant les mêmes fichiers d'installation que mes collègues. Aucun d'entre eux n'a les problèmes de rasoir, et ils travaillent sur les mêmes projets que moi. 

Une idée comment résoudre ce problème?

Editer ... Plus d'infos! J'ai désinstallé/réinstallé VS 2015 Community, ouvert mes projets et le rasoir a fonctionné! J'ai ensuite cliqué sur une notification disant de mettre à jour NuGet. Mise à jour NuGet installée, redémarrage du VS, rasoir a cessé de fonctionner à nouveau. Donc, la mise à jour NuGet est en train de casser le rasoir?

Chaque fois que j'ouvre un fichier rasoir, il indique "Une exception a été rencontrée. Cela peut être dû à une extension. Vous pouvez obtenir plus d'informations en examinant le fichier 'C:\Utilisateurs\Jonathan\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml '. "

Dans le journal d'activité, j'obtiens l'erreur suivante

"System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Item has already been added. Key in dictionary: 'RazorSupportedRuntimeVersion' Key being added: 'RazorSupportedRuntimeVersion' at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) at System.Collections.Hashtable.Add(Object key, Object value) at System.Collections.Specialized.HybridDictionary.Add(Object key, Object value) at Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(Object key, Object property) at Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor.ContainedLanguage.Razor.Def.IRazorVersionDetector.GetVersion(ITextBuffer textBuffer) at Microsoft.Html.Editor.ContainedLanguage.Razor.RazorUtility.TryGetRazorVersion(ITextBuffer textBuffer, Version& razorVersion) at Microsoft.Html.Editor.ContainedLanguage.Razor.RazorErrorTagger..ctor(ITextBuffer textBuffer) --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, Object[] args) at Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider`1.CreateTagger[T](ITextBuffer textBuffer) at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.GatherTaggers(ITextBuffer textBuffer)"

Comment puis-je réparer ça?

24
mejobloggs

Il n’est pas nécessaire de réinitialiser l’ensemble des configurations de votre Visual Studio en utilisant le devenv.exe /ResetUserData pour contourner ce problème.

Au lieu de cela, essayez de simplement supprimer le contenu de ce répertoire avec Visual Studio fermé, puis rouvrez-le: %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

21
fabriciorissetto

Voici ce qui a finalement fonctionné pour moi: Démarrer -> Exécuter -> (ou touche Windows + R) Puis tapez "devenv.exe/resetuserdata" (sans guillemets)

Je n'ai pas eu à supprimer le fichier .vs, comme d'autres l'avaient déjà fait.

Voir aussi: Visual Studio 2015 Broken Razor Intellisense

14
HumbleBeginnings

Je suis passé à mvc5 et ainsi de suite à razer 3. Cela a résolu mon problème.

J'ai suivi ces instructions:

http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and- web-api-21

5
Guigui

Cela pourrait résoudre des problèmes similaires (je l’ai eu quelque part, malheureusement, je ne me souviens plus, sur Github)

  • Fermer VS Studio
  • Exécuter l'invite de commande en tant qu'administrateur
  • Dans l'invite de commande:
    > cd "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE"
    > devenv /updateconfiguration
    > devenv /clearcache
    
    J'espère que ce qui précède sera utile à quelqu'un.
5
zinczinc

Avait le même problème. ResetUserData ne fonctionnait pas, etc. Ce que ResetUserData a fait a été cependant de réinitialiser certains des dialogues supprimés. En fin de compte, une boîte de dialogue est apparue indiquant que "Le 'CompatiblityCheckerPackage' ne s'était pas chargé correctement." Il m'a dit d'aller dans mon dossier d'utilisateurs (chemin ci-dessous) et de vérifier le fichier ActivityLog.xml. WebEssentials 2015 ne s’est pas installé correctement et le chargement a échoué. J'ai réinstallé WebEssentials et les erreurs Intellisense ont disparu.

Chemin complet pour moi:

C:\Utilisateurs\xxx\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml

J'espère que cela t'aides.

5
Rusty

Vous ne devez rien mettre à jour.
Supprimez simplement le cache des composants de ce dossier C:\users\xxx\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache Et tout ira bien. Essayez 

3
Amjad

J'ai eu le même problème et aucune de ces réponses n'a fonctionné. Ce que j’ai enfin vu, c’est que mon fichier web.config de vues faisait référence à MVC 4 et que mon principal moteur de communication web faisait référence à MVC 5. Ainsi, je pouvais compiler correctement mais intellisense ne fonctionnait pas. MVC 4 n'est pas pris en charge dans VS2015. Pourquoi mes fichiers web.config étaient différents, je ne sais pas. Lorsque j'ai mis à jour MVC dans VS2012 il y a plusieurs mois, il ne doit pas avoir mis à jour ce fichier de configuration.

3
Clarke76

Supprimer toute la variable Solution et le télécharger à nouveau à partir de Source Control est la seule chose qui a fonctionné pour moi. Vous devrez peut-être ouvrir la solution dans VS 2013 avant de pouvoir l'ouvrir en 2015 ... une version très buggée de Visual Studio, Microsoft!

Modifier: Une autre chose qui est étrange, du moins pour moi ... effacer le texte souligné en zigzag rouge puis le retaper pour résoudre le problème! Peut-être juste une chose au hasard qui m'est arrivé.

3
Serj Sagan

Aucune de ces solutions ne l'a résolu pour moi. Ce qui a bien fonctionné, c’est d’assurer la mise à jour de la version de mes pages Web. Alors 

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

dans le fichier web.config, au lieu de la version 2.0.0.0

Et puis fermer et réouvrir Visual Studio avec la même solution. 

1
Tony Anderson

Faites juste une chose et allez à: 

Outils> Extension et mise à jour> Mettez à jour votre version de Visual Studio

Cela prend du temps, mais après ça fonctionne bien.

0
vishal joshi

J'utilise VS 2015 professional. Face au même problème, essayé toutes les solutions mentionnées ci-dessus et rien n'a fonctionné. Ni "devenv.exe/ResetUserData" ni "la suppression du contenu de ComponentModelCache".

Le seul moyen que j'ai réussi à résoudre le problème consiste à modifier l'installation: Accédez à Programme et fonctionnalités -> Rechercher Microsoft Visual Studio ... 2015 -> Cliquez sur Modifier -> Sélection de la modification -> Cochez la case "Outils de développement Web Microsoft". -> Cliquez sur Mettre à jour

Cela a fonctionné pour moi.

0
Alex P

j'ai lu beaucoup de solutions, j'ai perdu beaucoup de temps, et quand j'étais sûr de ne pas résoudre le problème de visual studio 2015 intellisense, eureka, quelqu'un donnait la bonne solution: lean & clear 2 lignes de code celles que je lance dans cmd (comme administrateur): 

  1. C:\Fichiers de programme (x86)\Microsoft Visual Studio 14.0\Commun7\IDE> devenv/updateco nfiguration 
  2. C:\Fichiers de programme (x86)\Microsoft Visual Studio 14.0\Common7\IDE> devenv/clearcac

whe redémarrer visual studio peut-être demander de réinstaller un des outils qui ont été cassés . Eh bien, vous le faites, mais vous êtes toujours en train de commencer votre intellisense va fonctionner à nouveau . bonne chance à tous et merci à Nadir

0
Mannone Marco

Je sais que ce sujet est obsolète, mais je viens de résoudre le même problème et ma résolution n’est liée à aucun des problèmes énumérés ici.

Le problème est que, dans les propriétés de mon projet, le paramètre " Chemin de sortie " ( Build-> Output ) était un dossier différent de "bin \". Après le changer en bin\, rouvrir le studio et reconstruire mon projet, tout a fonctionné!

J'espère que cela pourrait aider quelqu'un.

0
Oleg Safarov