Visual Studio 2015 Rasiermesser Intellisense

140

Nach der Installation und anschließenden Reparatur meiner VS2015- Instanz kann Intellisense (Server-Seite) immer noch nicht in meinen MVC-Ansichten zum Laufen gebracht werden. Ich werde per Eingabeaufforderung benachrichtigt, sobald ich zum ersten Mal in einer Sitzung eine CSHTML- Datei öffne und an die Activitylog-Datei adressiert werde. In ActivityLog.xml (Kurzversion) abgerufene Fehlermeldung:

System.ArgumentException: Element wurde bereits hinzugefügt. Geben Sie das Wörterbuch ein: 'RazorSupportedRuntimeVersion'

Hier ist die Vollversion:

System.Reflection.TargetInvocationException: Das Ziel eines Aufrufs hat eine Ausnahme ausgelöst. ---> System.ArgumentException: Element wurde bereits hinzugefügt. Geben Sie das Wörterbuch ein: 'RazorSupportedRuntimeVersion'Schlüssel wird hinzugefügt: 'RazorSupportedRuntimeVersion' bei System.Collections.Hashtable.Insert (Objektschlüssel, Objektwert, Boolescher Wert hinzufügen) bei System.Collections.Hashtable.Add (Objektschlüssel, Objektwert) bei System.Collections.Specialized.HybridDictionary.Add (Objektschlüssel, Objektwert) bei Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty (Objektschlüssel, Objekteigenschaft) bei Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor.ContainedLanguage.Ror .GetVersion (ITextBuffer textBuffer) bei Microsoft.Html.Editor.ContainedLanguage.Razor.RazorUtility.TryGetRazorVersion (ITextBuffer textBuffer, Version & razorVersion) bei Microsoft.Html.Editor.ContainedLanguage.Rr der inneren Ausnahmestapelverfolgung --- am System.RuntimeMethodHandle.InvokeMethod (Objektziel, Object [] -Argumente, Signatursig, Boolescher Konstruktor) bei System.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr, Binder-Binder, Object [] -Parameter, CultureInfo-Kultur) bei System.RuntimeTypItrtCinAttr , Binder Binder, Object [] Argumente, CultureInfo Kultur, Object [] AktivierungAttribute, StackCrawlMark & ​​StackMark) bei System.Activator.CreateInstance (Typ Typ, BindingFlags BindingAttr, Binder Binder, Object [] Argumente, CultureInfo Kultur, Object [] AktivierungAttribute) bei System.Activator.CreateInstance (Typ type, Object [] args) unter Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider'1.CreateTagger [T] (ITextBuffer textBuffer) unter Microsoft.VisualStudio.Text.Tagation.Am1.GatherTaggers (ITextBuffer textBuffer)

Wenn es Hilfe gibt, habe ich einige Anpassungen an der Schriftfarbe vorgenommen und die Erweiterungen Web Essentials, Bundler & Minifier und Web Compiler installiert.

UPDATE : Dies geschieht entweder, wenn ich eine vorhandene Webanwendung öffne oder wenn ich eine brandneue von Grund auf neu erstelle. Es gibt auch eine Instanz von VS2013 , die auf demselben Computer installiert ist und ausgeführt wird.

Überhaupt kein Intellisense

Wie Sie auf dem Bild oben sehen können, bekomme ich weder Intellisense noch irgendeine Art von Code-Färbung.

Irgendwelche Hinweise, wie man das Problem behebt? Danke im Voraus.

Cristian Merighi
quelle
1
Versuchen Sie, ein neues Webprojekt mit der Standard-Webvorlage zu starten. Wenn es funktioniert, hängt das Problem mit Ihrem Projekt zusammen. Zumindest ist es einfacher, es einzugrenzen.
Rosdi Kasim
Entschuldigung Rosdi, ich musste mehr Details angeben. Ich habe den obigen Text entsprechend aktualisiert. Übrigens, ich habe gerade ein offenes Feedback hier gefunden. Connect.microsoft.com/VisualStudio/feedback/details/1579142/…, das genau mein Problem meldet.
Cristian Merighi
Versuchen Sie dies: stackoverflow.com/questions/17598359/… arbeitete für mich
Knerd
Hallo Knerd, Tatsache ist, dass ich überhaupt keine Intelligenz bekomme (siehe Bild oben). Fühlt sich für mich eher wie ein zentrales Problem mit Visual Studio an als wie einige falsche Projekteinstellungen (ich bekomme das gleiche Problem in den Standardvorlagenansichten eines brandneuen Projekts).
Cristian Merighi
So habe ich ein sehr ähnliches Problem in VS 2015 RTM behoben
Vladimir Abashin

Antworten:

127

Ich habe dieses Problem durch Zurücksetzen der Benutzerdaten gelöst

devenv.exe /resetuserdata

und entfernen Sie den Ordner ".vs" in meinem Projekt.


WARNUNG: Dadurch werden alle Benutzereinstellungen zurückgesetzt. Im Wesentlichen ist es so, als würde man auf die Werkseinstellungen zurücksetzen. Sie verlieren alle benutzerdefinierten Tastaturkürzel, Erweiterungen, die Sie installiert haben usw.

Yanos
quelle
14
Ich musste den .vs-Ordner nicht entfernen, um mein Problem zu beheben. resetuserdata war genug
Phil
9
Stellen Sie einfach sicher, dass Sie dies in diesem Ordner "C: \ Programme (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \" ausführen, insbesondere wenn auf Ihrem Computer mehr als ein VS installiert ist.
Miguel
10
Für mich devenv.exe /resetuserdata hat das Problem nicht behoben ! Zu Ihrer Information: Ich erhalte keine Fehler, aber VS malt keine Syntax für Razor-Ansichten.
A-Sharabiani
7
Beachten Sie, dass Sie alle Ihre Visual Studio-Einstellungen wie Erweiterungen und Anmeldeinformationen (des Kontos, bei dem Sie angemeldet sind) verlieren! VS muss geschlossen sein, bevor Sie ausgeführt werden devenv.exe /resetuserdata.
Fabriciorissetto
9
Bevor Sie diesen Befehl verwenden, sollten Sie wissen, was er bewirkt. Abgesehen von geringfügigen Unannehmlichkeiten wie dem Abmelden von Visual Studio und dem Zurücksetzen Ihrer Fenster wurden auch mehrere Erweiterungen und Resharper deinstalliert. Das Finden der richtigen Versionen für die Neuinstallation dauerte länger als erwartet.
Jason
162

Dies hat sich auch für mich wiederholt und scheint mit Erweiterungsupdates verbunden zu sein, aber ich konnte noch nichts Spezielles beschuldigen. Was ich entdecken konnte, ist eine weniger aufdringliche Lösung.

In meinem Fall kann die IDE durch Löschen des Inhalts dieses Verzeichnisses wiederhergestellt werden:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Bearbeiten: Ich bin gerade auf diesen gestoßen, der auch nützlich sein könnte - MEF-Komponenten-Cache löschen (VSIX-Galerie öffnen)

brahnp
quelle
6
ResetUserData hatte für mich funktioniert, aber das Problem kehrte zurück. Dies funktioniert und ist viel weniger aufdringlich (Sie müssen nicht alle Ihre Erweiterungen wiederherstellen).
ChadT
13
Dies funktionierte für mich ohne devenv.exe / resetuserdata
Jaecen
4
Das hat auch bei mir funktioniert. Ich habe zuerst den Befehl resetuserdata ausprobiert, aber das schien nichts zu bewirken. Das hat sofort funktioniert!
Yesman
4
Es hat bei mir funktioniert, es ist mehrmals passiert und ich habe die Benutzerdaten immer zurückgesetzt und es ist schrecklich. Ich verwende den Roaming Extension Manager , um die Neuinstallation der Erweiterungen zu
vereinfachen
2
Das Problem in VS2015 Professional wurde nicht behoben. Hervorheben der Rasierersyntax und Intellisense funktionieren immer noch nicht. Es werden keine Fehler angezeigt.
Justin Skiles
11

FWIW, ich hatte dieses Problem mit VS 2015 Enterprise auf zwei verschiedenen Computern. Auf einem Computer wurde das Problem durch Zurücksetzen der Benutzerdaten (für eine Weile) behoben. Auf dem anderen Computer musste ich VS vollständig deinstallieren und neu installieren, und das Problem verschwand für eine Weile. Auf beiden Computern trat das Problem erneut auf, nachdem ich eine Erweiterung installiert hatte (einmal bei der Installation von Web Essentials, einmal bei der Installation von Git Diff Margin).

Ich habe einen technischen Support-Fall für MSDN verbrannt und die Antwort war ... Ja, es ist ein Fehler, MS weiß davon und sie arbeiten daran.

Keine besonders umsetzbare Antwort, aber dennoch eine Antwort ...

EDIT: Und was das Problem angeht, bin ich seit dem Posten dieser "Antwort" noch einige Male auf das Problem gestoßen. Zuletzt habe ich ein Update für NuGet Package Manager installiert. Beim Neustart von VS trat dieses Problem auf. Ich rannte devenv.exe /resetuserdata, aber das half nicht; es war immer noch kaputt. Also versuchte ich es erneut (rannte devenv.exe /resetuserdata) und, bada bing bada boom, das Problem verschwand (vorerst). Die Moral scheint etwas in der Art zu sein: "Wenn es dir zuerst nicht gelingt ..."

Bob.at.Indigo.Health
quelle
Eine Warnung, dass dies absolut alles wegwischt, wäre nützlich. Meine Panel-Konfiguration ist weg, meine Syntaxhervorhebung ist weg und das Problem ist immer noch nicht behoben. :( Wie bekomme ich meine Daten zurück?
Henry Ing-Simmons
8

Könnte Duo passiert sein Resharper.
Es wird in zukünftigen Versionen behoben, aber ab sofort (Version 10.0.2) ist es kaputt. Resharper überschreibt die Intelligenz von Visual Studio und funktioniert daher nicht. Dies erklärt auch, warum das Ausführen das devenv.exe /ResetUserDataProblem behebt, da es entfernt wird Resharper.

Stellen Sie die Intellisense-Leistung manuell über das Menü auf VS zurück:
ReSharper>> Enviroment>> IntelliSense>> Füllen Sie Folgendes aus:
Geben Sie hier die Bildbeschreibung ein

Und so sollte der Intellisense von VS aussehen:
Geben Sie hier die Bildbeschreibung ein

NucS
quelle
6

Ich habe das gleiche Problem festgestellt, aber die Ursache war anders als bei den anderen Antworten.

Ich vermute, dass ein Update von Visual Studio, das TypeScript-Update im September 2015, die Web Developer Tools-Komponente von Visual Studio 2015 deinstalliert hat. Dadurch funktioniert Intellisense nicht.

Ich habe die Web Developer Tools erneut in den Installationsoptionen installiert UND ComponentModelCache nach der Installation gelöscht. Das hat bei mir funktioniert.

Wakusei
quelle
Dies löste das Problem auch für mich. Bei einer Reparatur von VS2015 über das Hinzufügen / Entfernen von Programmen konnte ich feststellen, dass die Web Developer Tools nicht einmal installiert waren. Aktivieren Sie das Kontrollkästchen und beenden Sie die Arbeit.
Anders Jakobsen
4

Das hat es für mich sofort behoben.

In Visual Studio:

Klicken Sie auf Extras-> Optionen-> Texteditor-> Alle Sprachen-> Allgemein Deaktivieren Sie "Mitglieder der automatischen Liste" Deaktivieren Sie "Parameterinformationen" Aktivieren Sie "Mitglieder der automatischen Liste" (ja, die gerade deaktivierte) Aktivieren Sie "Parameterinformationen" (erneut) die, die Sie gerade deaktiviert haben) Klicken Sie auf OK

Craig Goldensoph
quelle
Versuchte resetuserdata, lösche vssc, lösche Komponentencache und funktionierte nicht. Nachdem ich es versucht habe und es funktioniert hat! Vielen Dank
c0demaster
1

Die /ResetUserDataLösung ist die beste Wahl, aber ich glaube auch, dass ich eine mögliche Ursache dafür herausgefunden habe ...

Ich verwende derzeit Umbraco, um Makropartials im BackOffice zu erstellen. Wenn diese Dateien erstellt werden, klicke ich auf die Schaltfläche Alle Dateien ausblenden / anzeigen, um das Makroteil in meiner Lösung anzuzeigen, und die Hervorhebung der Rasiermessersyntax scheint nicht mehr zu funktionieren, sodass ich davon ausgehe, dass neue Dateien in Ihre Lösung aufgenommen wurden, die nicht direkt über VS erstellt wurden verursachen dieses Problem.

Selbst wenn die Dateien zur Lösung hinzugefügt werden, funktioniert die Syntaxhervorhebung nicht.

ChronixPsyc
quelle
Interessant, da ich dies auch mit Umbraco erlebe. Umbraco 7.4.3 und VS 2015, speziell.
Brian Lacy
1

Manchmal zeigt der VS Ide Intellisense überhaupt nicht an. Ich schließe einfach die Lösung. Schließen Sie VS. Öffnen Sie es dann erneut und das Problem ist behoben.

Thomas.Benz
quelle
1

Es gibt eine andere Lösung, ohne alle Benutzerdaten zurückzusetzen

(aber nur Fensterlayouts / Symbolleisten):

Schließen Sie alle VS2015-Instanzen, sichern Sie den Ordner und löschen Sie ihn:

"[User Directory]\AppData\Roaming\Microsoft\Visual Studio\14.0"

Öffnen Sie jetzt VS2015 erneut: Das Layout wurde auf die Werkseinstellung zurückgesetzt, aber die Razor-Syntax würde funktionieren

T-Moty
quelle
1

Zu Ihrer Information: Meine VS 2015 PRO-Installation wurde vollständig von allen Drittanbietern installiert.

Ich habe alle möglichen Lösungen ausprobiert, die mir hier im Artikel nicht geholfen haben. Was Craig Goldensoph schrieb, half mir teilweise, eine Lösung für mich zu finden.

Also habe ich zuerst Folgendes getan: Deaktivieren Sie alle Kontrollkästchen für Texteditor-> Alle Sprachen-> Allgemeine Anweisung: Geben Sie hier die Bildbeschreibung ein

Nach Klicken Sie erneut auf OK - Optionsdialog erneut öffnen: Überprüfen Sie alle auf denselben Abschnitt: Geben Sie hier die Bildbeschreibung ein

und übernehmen Sie die Einstellungen erneut. Sie müssen Ihr Visual Studio neu starten. Nach dem Neustart wird das Laden einige Zeit dauern, aber danach hat es bei mir funktioniert.

Eugene Bosikov
quelle
Häufiges Problem. Was ich las, hatten alle ähnliche Probleme und es wurde immer auf unterschiedliche Weise behoben. Ich habe nur geteilt, was mir geholfen hat. Sorry, konnte nicht für alle eine Lösung sein.
Eugene Bosikov
1

Wenn keine der anderen Optionen funktioniert, gibt es eine Problemumgehung. Nach der Eingabe des '.' Bediener drücken Sie die Tasten "Strg + Leertaste", um das Anzeigen des Intellisense-Dialogfelds zu erzwingen.

Ich hatte dieses Problem bei der Arbeit mit .cshtml MVC-Rasiererdateien.

Colin
quelle
0

Das mag lustig klingen, aber nur um eine Sache zu tun.

Setzen Sie den Haltepunkt in eine beliebige Zeile und warten Sie dann 5 Sekunden. Dies funktioniert nicht. Gehen Sie dann zur ersten Zeile und setzen Sie den Haltepunkt dort. Wenn Sie den Haltepunkt setzen, werden Sie nach Haltepunkteinstellungen gefragt. Geben Sie hier die Bildbeschreibung ein Klicken Sie auf diese Einstellungen und schließen Sie diese Einstellungen. Getan. Sie Intellisense arbeitet jetzt.

Ich habe VS 2015 Community Edition. Früher hatte ich VS 2015 Enterprise und es passierte darauf, aber nachdem ich die Community erhalten hatte, stellte ich fest, dass dasselbe passiert und dieselbe Lösung für beide funktioniert.

Ich habe diese Lösung versehentlich während der Arbeit gefunden. Tun Sie dies auch, wenn das Projekt nicht ausgeführt wird. Sie können diesen Haltepunkt auch entfernen.

Jay
quelle
0

Sie müssen nicht alles zurücksetzen %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache, sondern alle Dateien entfernen und VS neu starten. Es ist in Ordnung.

Nilesh Moradiya
quelle
0

Ich habe diese Antwort auf eine andere SO-Frage gepostet, nur weil ich verhindern möchte, dass Leute die Zeit verschwenden, die ich gerade verschwendet habe. Mein Problem war, dass ich einem Projekt Dateien hinzugefügt, diese aber nicht aufgenommen hatte. Also habe ich beschlossen, alle Dateien anzuzeigen:

Geben Sie hier die Bildbeschreibung ein

Wählen Sie dann Ordner aus:

Geben Sie hier die Bildbeschreibung ein

Das Problem tritt nur auf, wenn Sie eine MVC-Website als Projekt öffnen und nicht, wenn Sie sie direkt als Website öffnen.

Andy Brown
quelle
0

Meins war ein leichter Schmerz im Keester, schien aber zu funktionieren. In meinem Fall war es eine ASPX-Datei, die Intellisense nicht mehr ausführen würde (nachdem ich den ASPX-Dateinamen dumm geändert hatte ... Lektion gelernt!)

  1. Ich habe zum Beispiel meinen gesamten Code aus den Dateien (.aspx & .cs) in den Editor kopiert.
  2. Löschte die ASPX-Datei (die wiederum alle untergeordneten Dateien löschte).
  3. Mein Projekt gespeichert. Erstellt eine neue ASPX-Datei mit demselben Namen.
  4. Kopieren / Einfügen meines Codes aus dem Editor.
  5. Hat es gespeichert.
  6. Versuchte erneut Intellisense. Es funktionierte!

Rundherum, aber nicht so schlimm wie Deinstallation / vs Neuinstallation, was VOLLSTÄNDIG übertrieben ist. Viel Glück euch allen! Hoffentlich wird MS dies in einem dieser Jahre beheben!

John Waclawski
quelle