Visual Studio 2013 IntelliSense funktioniert nicht mehr für ASP.NET MVC5-Controller

132

In meinem Visual Studio 2013 ASP.NET MVC 5-Projekt tritt ein seltsames Problem auf. Plötzlich funktioniert IntelliSense in den Controller-Klassen des MVC 5-Projekts überhaupt nicht mehr.

Ich habe andere Klassenbibliotheksprojekte in meiner Lösung und IntelliSense arbeitet in diesen Klassenbibliotheksprojektdateien, aber das Problem liegt nur innerhalb des MVC-Projekts. Normalerweise werden diese Probleme durch einen Neustart von Visual Studio gelöst: Ich habe nicht nur Visual Studio neu gestartet, sondern auch meinen Computer neu gestartet, und das IntelliSense-Problem wird überhaupt nicht behoben.

Gibt es noch andere Schritte, die mir IntelliSense zurückbringen können?

Emran Hussain
quelle

Antworten:

209

Schließen Sie Visual Studio. Löschen Sie die Datei <Projektname> .v12.suo. Lösung erneut öffnen.

Rush Frisby
quelle
Danke für die Information. Ich werde diesen Trick das nächste Mal versuchen, wenn mein Visual Studio Intellisense nicht mehr funktioniert.
Emran Hussain
15
Ich habe festgestellt, dass das Löschen der Suo-Datei viele Probleme behebt. Es ist wie das Visual Studio-Äquivalent eines Neustarts. Danke, dass du mich erinnert hast.
Grahamesd
1
Ja ... das Problem wurde jetzt für mich behoben. Mein ProjectName.v12.suowar 982 KB groß. Löschte es. Die Lösung geschlossen. Die Lösung wurde erneut geöffnet und eine neue ProjectName.v12.suoerstellt. Intellisense ist wieder da, aber diese neue .suoDatei ist jetzt nur noch 500 KB groß. Wirklich interessant. Vielleicht sollte Microsoft dieses schlechte Verhalten beheben? Irgendwie verliert VS Intellisense und es ist wirklich ein Schmerz, ohne es zu arbeiten. :)
Leniel Maccaferri
3
Hat bei mir nicht funktioniert. Was für mich funktioniert hat, war das Zurücksetzen meiner Einstellungen.
DougCouto
Dies behebt das IntelliSense-Problem, aber Sie verlieren auch alle Haltepunkte, Lesezeichen usw. gleichzeitig.
Andreas
68

Das Zurücksetzen meiner Einstellungen oder das Importieren zuvor exportierter, funktionierender Einstellungen und das Neustarten von Visual Studio funktionierten wie folgt : Tools > Import and Export Settings... > Reset all settings.

EDIT: Das passiert mir immer wieder, überraschend oft in VS Express und gelegentlich in VS Professional. Eine Sache, die mir in Pro aufgefallen ist, ist, dass es nach unerwarteten Herunterfahren passiert ist (wenn die IT mitten in der Nacht einen Neustart erzwingt). Es kann also sein, dass Visual Studio nicht richtig geschlossen wird. Die oben beschriebene Technik hat jedes Mal funktioniert.

Jeremy Cook
quelle
1
Vielen Dank, heute hatte ich wieder das Intellisense-Problem und Ihre Lösung hat das Problem gelöst.
Emran Hussain
1
Danke, das hat auch bei mir funktioniert. Wenn Sie unten lesen, versuchen Sie dies, bevor Sie alle Ihre Erweiterungen entfernen.
Nur ein weiterer Steve
: DI hat tatsächlich zuerst alle meine Erweiterungen entfernt. Wie auch immer, es hat funktioniert!
Luis Lavieri
Dies hat auch mein Problem behoben
Auftragnehmerwolf
Dies war die beste Option. Ausgezeichnet.
Nelson Miranda
35

Extras> Optionen> Texteditor> C #> Allgemein

Stellen Sie sicher, dass "Mitglieder automatisch auflisten" aktiviert ist

phil
quelle
Das hat bei mir funktioniert. Das Löschen der .suo-Datei hat schon oft funktioniert, diesmal jedoch nicht.
Craig
Das hat bei mir funktioniert. Visual Studio 2013. Die IT hat uns auf eine neue Domäne umgestellt und alle VS-Einstellungen verloren.
Kessel222
27

Ich habe einen Weg gefunden, um das Problem zu lösen. Das heißt: 1. -> Entfernen Sie das ASP.NET MVC-Projekt aus der Lösung. 2. -> Fügen Sie dann das MVC-Projekt wieder zur Lösung hinzu.

Durch diese Schritte kann ich den Intellisense wieder erhalten. Ich bin jedoch mit dieser Lösung nicht zufrieden, da beim nächsten Doppelklick auf die Lösungsdatei zum Öffnen der Lösung die Intellisense nicht mehr funktioniert. Ich würde gerne wissen, warum es sich so verhält.

BEARBEITEN:

Schließlich stellte ich fest, dass es sich um eine Visual Studio-Erweiterung eines Drittanbieters handelte, die das Problem verursachte. Um diese Erweiterung herauszufinden, habe ich alle Erweiterungen entfernt und dann die Erweiterungen einzeln hinzugefügt und dort angehalten, wo ich die schuldige Erweiterung gefunden habe, die mir den Schlaf genommen hat :).

Emran Hussain
quelle
1
Ich beschäftige mich seit einem Monat damit und es macht mich verrückt. Das Entfernen und Lesen aus der Lösung (obwohl ein Schmerz) hat auch bei mir funktioniert. Vielen Dank!
NorthFork
6
In meinem Fall war es eine Xamarin-Erweiterung, aber ich möchte nicht schlecht über Xamarin sagen, da die Kundenbetreuung hervorragend ist. Sobald ich das Problem gemeldet hatte, wurde mir die feste Version schnell zur Verfügung gestellt. Darüber hinaus scheint die neueste Version der Xamarin-Erweiterung dieses Problem nicht mehr zu haben. Mein Punkt ist, dass die spezifische Version einer Erweiterung ein solches Problem verursachen kann. Möglicherweise müssen wir die Erweiterungen einzeln deinstallieren, um herauszufinden, welche das Problem verursacht. Zum Beispiel kann eine zukünftige Version der heutigen guten Erweiterung auch ein solches Problem verursachen. In diesem Fall müssen wir aufpassen.
Emran Hussain
2
Das Entladen und Nachladen des Projekts hat auch bei mir funktioniert, danke!
Rob
1
In meinem Fall war es die Xamarin-Erweiterung. Deinstallierte es und das Problem ging weg. Dies war auch die neueste Version!
Guy Lowe
1
Ich hatte das gleiche Problem mit der Xamarin-Erweiterung, aber aus irgendeinem Grund nur mit einem bestimmten Projekt. Es war eine abgelaufene Testversion, daher habe ich sie einfach deinstalliert und die Syntaxhervorhebung kam zurück.
GnomeCubed
8

Sie können das Projekt entladen und das MVC-Projekt aus der Lösung neu laden

  1. Klicken Sie im Solution Explorer mit der rechten Maustaste auf MVC-Projekt -> "Projekt entladen"
  2. Klicken Sie im Solution Explorer mit der rechten Maustaste auf MVC-Projekt -> "Projekt neu laden"

Danach überarbeitet die Intellesense schnell.

ArDumez
quelle
Genau das, was ich am 10. April geschrieben habe, schön! stackoverflow.com/a/29556005/1879699
Andreas
6
  • Extras -> Optionen
  • Texteditor -> C # -> Intellisense
  • Stellen Sie sicher, dass "Abschlussliste anzeigen, nachdem ein Zeichen eingegeben wurde" aktiviert ist

Vervollständigung des Intellisense-Codes VS2013

Sherif Hamdy
quelle
1
Das hat bei mir funktioniert. Ich bin nicht sicher, ob bei der Installation standardmäßig diese deaktiviert waren, aber die folgenden wurden für mich deaktiviert, und dies war eine Neuinstallation. "Mitglieder automatisch auflisten" "Parameterinformationen". Ich habe auch nicht die Intelligenz für Methodenparameter erhalten. Das einzige Plugin, das ich habe, ist GhostDoc
gcoleman0828
@ gcoleman0828 Danke! Dies war die richtige Antwort für mich mit VS2013.
Rod Hartzell
5

Ich bin nicht sicher, warum es auftritt, aber wenn es mir passiert, kann ich Intellisense durch einfaches Neustarten von Visual Studio wiederherstellen.

Du hast recht, es ist wirklich nervig.

JWilson
quelle
4

Manchmal kann das Zurücksetzen der VS-Einstellungen helfen:

WERKZEUGE-> Assistent zum Importieren und Exportieren von Einstellungen-> Alle Einstellungen zurücksetzen-> Kontrollkästchen "Nein, nur Einstellungen zurücksetzen, aktuelle Einstellungen überschreiben" -> Weiter> Weiter> Weiter

Ich hatte sie mit RESHARPER durcheinander gebracht, und das half.

d.popov
quelle
2
Nun, es war so für mich, sorry. Ich hatte sie mit den Einstellungen von RESHARPER durcheinander gebracht.
d.popov
2
Upvoted. Resharper hat in der Vergangenheit meine Einstellungen verwüstet.
Zac
Dies ist nur für jemanden akzeptabel, der nichts angepasst hat.
t3chb0t
3

Ich habe festgestellt, dass der beste Weg, um IntelliSense-Probleme zu beheben, darin besteht, das Projekt einfach im Solution Explorer zu entladen und das Projekt erneut zu laden. Danach arbeitet IntelliSense immer für mich und ich verliere keine Lesezeichen, Haltepunkte oder andere Einstellungen.

Andreas
quelle
1
Dies ist der einfachste Weg. TY
Caesar
1

Ich habe festgestellt, dass der Intellisense zu brechen scheint, wenn der Build fehlschlägt. Nachdem ich meine Build-Fehler behoben und das Projekt neu erstellt habe, funktioniert Intellisense nach dem erneuten Laden der jeweiligen Razor-Datei.

Matthew Will
quelle
1

In meinem Fall hat der Neustart nicht funktioniert.

Also habe ich die folgenden seltsamen Schritte gemacht:

  1. Die Lösung geschlossen
  2. Öffnete eine andere Lösung
  3. Verifiziert, dass Intellisense in dieser anderen Lösung funktioniert.
  4. Die andere Lösung geschlossen
  5. Schließlich öffnete die erste Lösung wieder.

Und der Intellisense hat wieder funktioniert.

Guilherme de Jesus Santos
quelle
Dies hat nicht funktioniert, aber es war ein guter Schritt zur Fehlerbehebung, um festzustellen, ob das Projekt oder das Visual Studio selbst das Problem verursacht.
redwards510
1

Normalerweise geschieht dies, wenn die Puffer einen Fehler enthalten. Meistens wird der lokale Cache-Fehler gelöscht, wenn Sie beispielsweise ein Windows-Formular schließen und erneut öffnen, um es erneut in den Speicher zu laden. Viele der oben genannten Lösungen funktionieren, aber manchmal ist es so einfach wie das Schließen des Artikels und des Designers und das erneute Öffnen des Artikels.

Außerdem können Sie versuchen, ein Zurücksetzen durch zu erzwingen

Strg + K, Strg + I zeigt schnelle Informationen an Strg + Umschalt + Leertaste zeigt Ihnen Parameterinformationen an

Mark Alicz
quelle
1

Ich habe viele Dinge ausprobiert, die nicht funktionierten. Am Ende habe ich Code in die Zwischenablage geschnitten, den Controller neu erstellt und Code eingefügt. Problem gelöst!

Andy Brown
quelle
1

Ich habe auch das gleiche Problem mit Intellisense in meinem Texteditor.

Ich habe nur die closeDatei example.cs, die kein Intellisense bereitstellt, und öffne diese Klasse erneut, ohne sie neu zu starten. Visual StudioSie funktioniert für mich.

Hinweis: Ich habe nicht das gleiche Problem mit der gesamten CS-Datei im Projektmappen-Explorer

Midhun Mundayadan
quelle
1

Ich benutze VS 2013 und hatte das gleiche Problem. Meine Lösung war das Update von VS auf die letzte Version. I mein Fall Update 4. Einfach Referenz im Projekt muss mit Assembly in GAC auf Computer (OS) übereinstimmen. Intellisense kommt von VS nicht vom Projekt.

Ich hoffe, das wird jemandem nützlich sein.

Piotr Knut
quelle
1

... Noch eine Antwort - aber das war die Ursache für meine Schmerzen: Ich hatte Developer Assistant installiert, der gut funktioniert hatte, aber plötzlich keine Vorschläge mehr machte. Damit es wieder funktioniert:

Optionen -> Entwicklerassistent -> Intellisense -> Standard Visual Studio Intellisense

Ich habe 5 Stunden gebraucht, um das zu finden :(

HTH.

sming
quelle
1
Tools->Options->Text Editor->C# (or All Languages)->General

Aktivieren Sie das Kontrollkästchen für enable Auto List Membersund Parameter Informationim rechten Bereich.

Wenn es nicht ausgewählt ist, wählen Sie es aus.

thejustv
quelle
0

Speichern Sie alles und starten Sie Visual Studio neu!

Chris
quelle
0

Ich bekomme genau das gleiche, wenn ich mit einem bestimmten MVC5-Projekt arbeite. Ein Neustart von VS2013 funktioniert nicht. Das Löschen von Suo-Dateien funktioniert nicht. Das Zurücksetzen aller Werkzeugeinstellungen funktioniert nicht. Das einzige, was jemals funktioniert, ist das Entfernen des Projekts aus der Lösung und das erneute Hinzufügen. Zu sehen, wie ich das jeden Tag tun muss, ist wirklich ziemlich nervig. Insbesondere wenn ich festgelegt habe, dass die zuletzt geöffneten Dateien erneut geöffnet werden sollen, muss ich die Dateien, an denen ich gearbeitet habe, aufspüren und erneut öffnen, anstatt sie automatisch zu öffnen.

Pyrobri
quelle
0

Ich verwende VS 2013 mit MVC 5. Die Lösung für mich bestand darin, Web.config Folgendes hinzuzufügen:

<compilation debug="true" targetFramework="4.5.1">
  <assemblies>
    <add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>
Steven
quelle
0

Rushoneroks Lösung funktioniert hervorragend für mich.
Für alle, die nicht wissen: <Projektname> .v12.suo ist eine versteckte Datei im Projektstammordner. Sie müssen in Ihrem Dateibrowser "Versteckte Dateien anzeigen" aktivieren, um sie anzuzeigen.

Petr
quelle
0

Bisher haben einige dieser Lösungen bei mir nicht funktioniert.

Ich habe die folgende Problemumgehung

Deklarieren Sie einfach den Typ, den Sie explizit in einer neuen Variablen verwenden möchten, und verwenden Sie diesen anstelle von Model.

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain
Valamas
quelle
0

Um dies zu lösen, habe ich Visual Studio Express 2013 geschlossen und die Lösung erneut geöffnet, aber .slndirekt aus dem Dateisystem auf die Datei doppelklickt. Beim Öffnen von der Startseite war die Intelligenz meiner Controller defekt.

CoderRoller
quelle
0

Das Schließen und Öffnen der Visual Studio-Lösung hat bei mir funktioniert.

Unzerbrechlich
quelle
0

Manchmal schließt man es versehentlich. Versuchen Sie, ctrl+spaceWindows oder cmd+spaceMac einzuschalten.

Picacode
quelle
0

Ich weiß, dass ich etwas spät dran bin, aber das Hinzufügen zu meiner App.configDatei hat den Trick getan!

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
</system.web>
Doch menschlich
quelle