web-dev-qa-db-de.com

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

In meinem Visual Studio 2013 ASP.NET MVC 5-Projekt steht ein seltsames Problem vor. Plötzlich funktionieren die IntelliSense in den Controller-Klassen des MVC 5-Projekts überhaupt nicht.

Ich habe andere Klassenbibliotheksprojekte in meiner Lösung, und IntelliSense arbeitet in diesen Klassenbibliothekprojektdateien, das Problem liegt jedoch nur im MVC-Projekt. Normalerweise werden diese Probleme durch einen Neustart von Visual Studio behoben: 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 IntelliSense zurückbringen können?

131
Emran Hussain

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 die Intellisense wieder erhalten. Ich bin jedoch nicht zufrieden mit dieser Lösung, denn wenn ich das nächste Mal auf die Lösungsdatei doppelklicke, um die Lösung zu öffnen, sehe ich, dass der Intellisense nicht mehr funktioniert. Ich würde gerne wissen, warum es sich so verhält.

BEARBEITEN:

Schließlich stellte ich fest, dass es eine Erweiterung des Visual Studio eines Drittanbieters war, die das Problem verursachte. Um diese Erweiterung herauszufinden, entfernte ich alle Erweiterungen und fügte dann die Erweiterungen nacheinander hinzu. Sie blieb dort stehen, wo ich die schuldige Erweiterung gefunden hatte, die meinen Schlaf wegnahm :).

27
Emran Hussain

Schließen Sie Visual Studio. Löschen Sie die .v12.suo-Datei <ProjectName>. Lösung wieder öffnen.

208
Rush Frisby

Wenn Sie meine Einstellungen zurücksetzen oder zuvor exportierte Arbeitseinstellungen importieren, funktionieren und beim Neustart von Visual Studio: Tools > Import and Export Settings... > Reset all settings.

BEARBEITEN: Dies passiert immer wieder, überraschend oft in VS Express und gelegentlich in VS Professional. In Pro ist mir aufgefallen, dass dies nach unerwartetem Herunterfahren (wenn die IT mitten in der Nacht einen Neustart erzwingt) passiert ist. Es kann also sein, dass Visual Studio nicht ordnungsgemäß geschlossen wird. Die oben beschriebene Technik hat jedes Mal funktioniert.

68
Jeremy Cook

Extras> Optionen> Texteditor> C #> Allgemein

Stellen Sie sicher, dass "Auto List Members" aktiviert ist

36
phil

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

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

Danach ist die Intellesense schnell überarbeitet.

8
ArDumez
  • Extras -> Optionen
  • Texteditor -> C # -> Intellisense
  • Stellen Sie sicher, dass "Vollständigkeitsliste anzeigen, nachdem ein Zeichen eingegeben wurde" aktiviert ist

VS2013 Intellisense-Code-Vervollständigung

6
Sherif Hamdy

Ich bin nicht sicher, warum es auftritt, aber wenn es mir passiert, kann ich Intellisense wiederherstellen, indem Sie einfach Visual Studio neu starten.

Du hast recht, es ist wirklich nervig. 

5
JWilson

Manchmal hilft das RESET der VS-Einstellungen:

TOOLS-> Import and Export Settings Wizard-> 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.

4
d.popov

Ich habe festgestellt, dass der beste Weg zur Behebung von IntelliSense-Problemen darin besteht, das Projekt einfach im Lösungs-Explorer zu entladen und das Projekt erneut zu laden. Danach funktioniert IntelliSense immer für mich und ich verliere keine Lesezeichen, Haltepunkte oder andere Einstellungen.

3
mrt

Ich verwende VS 2013 und hatte das gleiche Problem ... Meine Lösung bestand darin, VS auf die letzte Version zu aktualisieren. Ich meine Fall Update 4 . Einfach Referenz in Projekt muss mit Assembly in GAC auf Computer (OS) übereinstimmen. Intellisense kommt von VS und nicht vom Projekt.

Ich hoffe, das ist für jemanden praktisch.

1
Piotr Knut

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

1
Andy Brown

... Noch eine andere Antwort - aber dies war die Ursache für meinen Schmerz: Ich hatte Developer Assistant installiert, der zwar gut gearbeitet 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.

1
sming

Dies geschieht normalerweise, 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 Arbeitsspeicher zu laden. Viele der oben genannten Lösungen funktionieren, aber manchmal ist es so einfach, das Element und den Designer zu schließen und das Element erneut zu öffnen.

Zusätzlich können Sie versuchen, einen Reset durch zu erzwingen

Strg + K, Strg + I zeigt Schnellinfo Strg + Umschalt + Leertaste zeigt Ihnen Param-Informationen

1
Mark Alicz

Ich habe das gleiche Problem mit Intellisense in meinem Texteditor. 

ich close example.cs-Datei, die keine Intellisense .__ bereitstellt. und öffnen Sie diese Klasse ohne Neustart Visual Studio es funktioniert bei mir.

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

1

In meinem Fall funktionierte der Neustart nicht.

Also habe ich die folgenden seltsamen Schritte gemacht:

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

Und der Intellisense funktionierte wieder.

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

1
Matthew Will
Tools->Options->Text Editor->C# (or All Languages)->General

aktivieren Sie das Kontrollkästchen für enable Auto List Members und Parameter Information im rechten Fensterbereich.

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

1
thejustv

Das gleiche Ergebnis bekomme ich jedes Mal, wenn ich mit einem bestimmten MVC5-Projekt arbeite. Das Neustarten 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 Projekt aus der Lösung zu entfernen und es erneut hinzuzufügen. Da ich dies jeden Tag tun muss, ist das ziemlich ärgerlich. Besonders wenn ich die letzten Dateien wieder geöffnet habe Ich hatte offen, ich muss dann die aufspüren, an denen ich gerade gearbeitet habe, und sie wieder öffnen, anstatt das Auto automatisch zu öffnen.

0
Pyrobri

Um das Problem zu lösen, habe ich Visual Studio Express 2013 geschlossen und die Lösung erneut geöffnet, aber auf die .sln-Datei aus dem Dateisystem doppelklicken. Beim Öffnen von der Startseite aus wurden meine Controller beschädigt.

0
CoderRoller

Manchmal schließt man es aus Versehen. Versuchen Sie ctrl+space für Windows oder cmd+space für Mac, um es zu aktivieren.

0
picacode

Bisher haben einige dieser Lösungen für mich 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
0
Valamas

Speichern Sie alles und starten Sie Visual Studio neu!

0
Chris

Das Schließen und Öffnen der Visual Studio Solution funktionierte für mich.

0
Unbreakable

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

0
Petr

Ich verwende VS 2013 mit MVC 5. Die Lösung für mich bestand darin, der 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>
0
Steven

Ich weiß, dass ich ein bisschen spät dran bin, aber das Hinzufügen zu meiner App.config-Datei 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>
0
Human_AfterAll