Ich habe ein Problem mit Visual Studio auf einer C # -Lösung. Es werden völlig zufällige Fehler angezeigt, aber die Projekte werden erstellt. Im Moment habe ich 33 Dateien mit Fehlern, und ich kann in allen rote, schnörkellose Linien sehen.
Ich habe versucht, die Lösung zu bereinigen / neu zu erstellen, Visual Studio zu schließen und sogar meinen Computer neu zu starten. Ich habe auch sichergestellt, dass die unter Debugging-Schritte beschriebenen Schritte auch bei Compilerfehlern in Visual Studio ausgeführt werden. Ich kann CS-Dateien ändern und sehe die Änderungen in der Lösung.
Hat jemand eine Idee, warum das so ist?
c#
visual-studio
syntax-error
resharper
intellisense
GammaOmega
quelle
quelle
Antworten:
Wenn Sie über ReSharper verfügen, leeren Sie den ReSharper-Cache:
und Deaktivieren und erneutes Aktivieren von ReSharper:
quelle
Das Löschen des Cache von Resharper hat in meinem Fall nicht geholfen. Ich habe versucht, Suspend / Restore zu starten und Resharper mit dem neuesten Download von der JetBrains-Website zu reparieren - beides hat nicht geholfen. Dies ist, nachdem ich versucht habe, VS zu schließen / erneut zu öffnen, meinen Computer neu zu starten, zu wiederholen, zu erstellen / neu zu erstellen und eine Kombination davon.
Es ist interessant, dass das Anhalten von Resharper das Problem nach dem zweiten Neustart von VS zu lösen schien , aber es war wieder da, nachdem ich Resharper aktiviert hatte. <- Ich habe 2-3 Mal versucht, diese Sequenz auszuführen, um das Muster sicherzustellen.
Wie auch immer, ich hatte immer noch Probleme, als ich diesen Artikel fand:
Also habe ich die versteckte .SUO-Datei auf derselben Ordnerebene mit Lösung gelöscht und alle Rottöne auf magische Weise gelöst.
Hinweis - Für Visual Studio 2015 befindet sich die SUO- Datei im versteckten Ordner .vs / [Lösungsname] / v14 .
quelle
tldr; Entladen Sie das Problemprojekt und laden Sie es erneut.
Wenn mir das passiert, versuche ich (früher) VS zu schließen und wieder zu öffnen. Das hat wahrscheinlich ungefähr die Hälfte der Zeit funktioniert. Wenn es nicht funktionierte, schloss ich die Lösung, löschte die .suo-Datei (oder den gesamten .vs-Ordner) und öffnete die Lösung erneut. Bisher hat dies bei mir immer funktioniert (mehr als 10 Mal in den letzten 6 Monaten), aber es ist etwas langweilig, da einige Dinge zurückgesetzt werden, wie z. B. Ihr Build-Modus, Ihr Startprojekt usw.
Da es normalerweise nur ein Projekt ist, das das Problem hat, habe ich nur versucht, dieses Projekt zu entladen und neu zu laden, und das hat funktioniert. Meine Stichprobengröße ist nur 1, aber sie ist viel schneller als die beiden anderen Optionen. Vielleicht lohnt sich der Versuch. Ich vermute, dass dies funktioniert, weil es in die .suo-Datei schreibt und möglicherweise den beschädigten Teil davon behebt, der das Problem am Anfang verursacht hat.
Hinweis: Dies scheint für VS 2019, 2017 und 2015 zu funktionieren.
quelle
Ich habe die Lösung gereinigt, VS geschlossen, sie wieder geöffnet, die Lösung erstellt und rote ungelöste Linien wurden gereinigt und die Erstellung war erfolgreich.
quelle
Ich habe festgestellt, dass dies häufig vorkommt, wenn Git in Visual Studio 2017 verwendet wird und Zweige gewechselt werden, bei denen abhängige Codeänderungen auftreten . Obwohl das Projekt erfolgreich erstellt wird, bleiben Fehler in der Fehlerliste.
Diese Fehler sind häufig Namespace-Probleme und fehlende Referenzen, selbst wenn die Bibliotheksreferenz vorhanden ist.
Lösen:
quelle
Ich habe alle 6 Optionen ausprobiert, nichts hat bei mir funktioniert. Die folgende Lösung hat mein Problem behoben.
Schließen Sie VS. Löschen Sie den versteckten Ordner ".vs" neben Ihrer Lösungsdatei. Starten Sie VS neu und laden Sie die Lösung.
quelle
Ich hatte ein Problem wie dieses, bei dem Intellisense die Existenz eines Projekts nicht zu erkennen schien (viele Fehler "Kann diesen Typ nicht finden", "Dieser Namespace existiert nicht" usw.).
Das Entfernen und erneute Hinzufügen der Projektreferenz in allen referenzierenden Projekten würde das Problem beheben, aber die zugrunde liegende Ursache könnte durch Bearbeiten der .proj-Datei des Problemprojekts behoben werden.
Ganz oben in der .csproj-Datei des "fehlenden" Projekts befindet sich ein Element:
und in allen referenzierenden Projekten waren .csproj-Dateien Projektreferenzen:
Die referenzierende GUID stimmte nicht mit der GUID des Projekts überein. Durch Ersetzen durch
{GUID}
oben wurde{ANOTHER-GUID}
das Problem behoben, ohne dass jedes Referenzierungsprojekt durchlaufen werden muss.quelle
Hier ist eine Sammlung beliebter Antworten. Stimmen Sie dem OP der Antwort zu, wenn es Ihnen geholfen hat:
Option 1: Bereinigen, Erstellen und Aktualisieren ( Option @Mike Fuchs )
Versuchen Sie, wie @Mike Fuchs erwähnt hat, die folgenden Operationen:
und wählen Sie das betreffende Projekt aus und klicken Sie auf die Schaltfläche Aktualisieren:
Option 2: Bereinigen, Schließen, Neustarten und Erstellen ( @ Pixel- Option)
Versuchen Sie , wie bei @Pixel erwähnt, die folgende Abfolge von Vorgängen:
Option 3: ReSharper-Cache löschen ( Option @GammaOmega )
Wenn Sie über ReSharper verfügen, leeren Sie den ReSharper-Cache:
und Deaktivieren und erneutes Aktivieren von ReSharper:
Option 4: Löschen Sie die .suo-Datei ( @ Neolisk- Option)
Wie bei @Neolisk erwähnt, kann das Löschen der .suo-Datei Ihr Problem lösen. Für Visual Studio 2015 befindet sich die Datei in:
Und für Visual Studio 2017:
Beachten Sie, dass das .vs-Verzeichnis ausgeblendet ist.
Option 5: Projekt entladen und neu laden ( Option @TTT )
Versuchen Sie , wie bei @TTT erwähnt, das Projekt zu entladen, das Probleme verursacht:
Und neu laden
Option 6: Entfernen und Hinzufügen der Microsoft.CSharp-Referenz ( Option @Guilherme )
Versuchen Sie , wie bei @Guilherme erwähnt, den Verweis auf "Microsoft.CSharp" aus den Projekten zu entfernen und hinzuzufügen, bei denen Probleme auftreten.
quelle
Löschen Sie den versteckten Dateipfad = Ihre Lösung \ .vs \ Ihr Lösungsname \ v15 \ .suo
quelle
Für VS-2017 funktionierte das Löschen des .vs-Ordners für mich.
quelle
Ich habe festgestellt, dass Visual Studio (2017) beim Wechseln von Git-Zweigen manchmal keine Typen aus einigen Dateien erkennt, die im zweiten Zweig hinzugefügt wurden. Durch Löschen des .vs-Ordners wird das Problem behoben, es werden jedoch auch alle Einstellungen für Ihren Arbeitsbereich verworfen. Dieser Trick scheint für mich gut zu funktionieren:
Dies führt dazu, dass Intellisense die Datei analysiert, die beim Wechseln der Zweige übersehen wurde.
quelle
Die folgende Lösung hat bei mir funktioniert
1 - VS schließen
2 - Löschen Sie den Ordner .vs
3 - Öffnen Sie VS
4 - Lösung erstellen
quelle
Vielleicht versuchen Sie, Ihren Intellisense-Cache zurückzusetzen. Ich hatte ein ähnliches Problem in Visual Studio 2012, als ich in einem großen Projekt mit vielen Teilklassendefinitionen arbeitete. Das Reduzieren der Partials löste das Problem teilweise und löschte auch den Intellisense-Cache - für eine Weile.
quelle
Gelegentlich muss ich eine benutzerdefinierte Bereinigung durchführen, indem ich alle Projekte durchlaufe und die Ordner "bin" und "obj" manuell lösche. Um sie in Visual Studio anzuzeigen, müssen Sie versteckte Dateien und Ordner für jedes Projekt aktivieren. Erstellen Sie anschließend die Lösung neu.
quelle
Das Löschen des
.vs
Ordners hat mein Problem gelöst.Es werden aber auch die aktuellen Einstellungen meiner Lösung in VS zurückgesetzt. Meine entladenen Projekte in der Lösung wurden erneut geladen und alle angehefteten und geöffneten Dokumente wurden auch geschlossen, als ich den VS neu startete.
quelle
0 - Klicken Sie mit der rechten Maustaste auf die Lösung und reinigen Sie die Lösung
1 - VS schließen
2 - Löschen Sie die .suo-Datei des Projekts
3 - Öffnen Sie VS
4 - Lösung erstellen
quelle
Ein Kollege von mir hat dieses Problem heute erlebt. Wir haben viele der Empfehlungen hier ausprobiert und keine hat funktioniert, außer der unten beschriebenen Lösung.
Problem:
Das Projekt funktioniert einwandfrei, aber Intellisense erkennt bestimmte Typen nicht und markiert bestimmte
using
Anweisungen als ungültig.Lösung:
Ändern Sie die 'Lösungsplattform' (in VS 2017 ist dies die Dropdown-Liste neben der Dropdown-Liste Lösungskonfiguration mit Werten wie x86, x64, AnyCPU, gemischte Plattformen usw.) in AnyCPU .
Die Plattform für Ihr Projekt kann variieren, aber es scheint, dass einige Referenzen möglicherweise nicht für alle Plattformen gültig sind.
quelle
Für meinen speziellen Fall war es eine Servicereferenz, die ein anderer Entwickler in der Hauptniederlassung zusammengeführt hat. Was vollkommen in Ordnung war, außer dass die Syntaxhervorhebung die generierte Serviceklasse nicht auflösen konnte und die Quelle rot unterstrichen war. Reinigen, Umbauen, Neustarten hat nichts gebracht.
Alles, was ich tun musste, war die Servicereferenz zu aktualisieren und VS schaffte es, die Teile hinter den Kulissen zusammenzusetzen. Keine Änderungen im Quellcode oder in den generierten Dateien.
quelle
Ich bin gerade auf dieses Problem gestoßen, nachdem ich ein Git-Commit zurückgesetzt habe, das Dateien wieder zu meinem Projekt hinzugefügt hat.
Das Bereinigen und Wiederherstellen des Projekts hat nicht funktioniert, auch wenn ich VS zwischen den einzelnen Schritten geschlossen habe.
Was schließlich funktionierte, war das Umbenennen der Datei in etwas anderes und das erneute Ändern. : Gesichtspalme:
quelle
Nachdem ich alle aufgeführten Optionen ausprobiert hatte, entdeckte ich einen weiteren Grund, warum dies passieren kann. Wenn Ihnen jemand den Quellcode als Zip gesendet oder Sie eine Zip heruntergeladen haben, hat Windows möglicherweise alle Dateien blockiert. 2 Möglichkeiten, dies zu lösen:
Methode 1:
Klicken Sie mit der rechten Maustaste auf die ursprüngliche Zip-Datei -> Aktivieren Sie "Blockierung aufheben" -> Klicken Sie auf "Anwenden"
Methode 2:
Wenn dies keine Option ist, anstatt Eigenschaften für jede Datei im Lösungsordner zu öffnen, öffnen Sie einfach die Power Shell und entsperren Sie die Blockierung rekursiv wie folgt:
quelle
Ich hoffe, Ihr Problem zu lösen
quelle
Hatte dieses Problem bei der Arbeit (mit VS2017). Versuchte alle Antworten hier. Keine Freude.
Das Projekt würde gut funktionieren, beschwerte sich jedoch, dass Namespaces / Typen nicht gefunden werden konnten. Rote Kringel überall. Viele Fehler im Fenster Fehlerliste.
Meine Lösung enthielt 3 Projekte.
Es wurde festgestellt, dass 3 der NuGet-Bibliotheksreferenzen für eines der Projekte nicht korrekt waren. Konsolidiert die referenzierten Bibliotheksversionen und Bingo.
Hoffe das hilft jemandem.
Brett.
quelle
Das Projekt entladen und neu laden hat dieses Problem behoben.
quelle
Manchmal, wenn Sie nur die Lösung bereinigen, verschwinden die Fehler, aber sie können nach einer Weile oder beim nächsten Build wieder auftreten.
quelle
Dieses Problem trat auf, als ein einzelner Typ von Visual Studio nicht erkannt wurde und das rote Kringel zeigte, obwohl die Lösung erfolgreich erstellt wurde. Ich habe im Projektmappen-Explorer festgestellt, dass die Datei links keinen Erweiterungspfeil hat, der Klassen und Eigenschaften bei der Erweiterung anzeigt.
Das Update bestand darin, die Datei aus dem Projekt auszuschließen und zu speichern / erstellen, was zu einem erwarteten Fehler führte, und dann die Datei in das Projekt aufzunehmen und zu speichern und zu erstellen.
Nach diesen Schritten erkannte Visual Studio meinen Typ wieder. Wenn man sich den Unterschied in Git
<Compile Include="..." />
ansieht, scheint das Problem darauf zurückzuführen zu sein, dass die Zeilenenden nicht mit der Zeile meiner .csproj-Datei übereinstimmen.quelle
In meinem Fall hat vs die importierten Namespaces in den Projekteigenschaften> Referenzen nie beibehalten
Als ich versuchte, sie erneut hinzuzufügen / zu überprüfen, konnte ich nicht und vs warf einen Fehler und als das gespeicherte Projekt vs abstürzte. Beim erneuten Öffnen wurden alle importierten Standard-Namespaces (system.data etc ...) erneut angekreuzt und es wurde alles fehlerfrei erkannt
quelle
TL; DR: Führen Sie eine Neuinstallation von Visual Studio durch
Nachdem ich einige Stunden verschwendet hatte, konnte ich es für Visual Studio 2017 immer noch nicht reparieren. Dann installierte ich Visual Studio 2019 PREVIEW und plötzlich zeigt mir IntelliSense wieder die Mitglieder von STL-Klassen an (was bei Visual Studio 2017 nicht der Fall ist ).
Ich vermute also, dass möglicherweise auch etwas mit Visual Studio selbst nicht stimmt (möglicherweise etwas im Cache-Verzeichnis oder allgemein etwas auf Ihrem PC, das nicht direkt mit einer bestimmten Lösung zusammenhängt), das durch eine saubere und vollständige Neulösung behoben werden kann -Installation von Visual Studio. Ich weiß, dies ist eine dumme "Lösung", aber in meinem Fall hatte nur eine neue Visual Studio-Installation (2019) einen Effekt.
Wie bereits erwähnt, waren in meinem Fall nur STL-Klassen betroffen. IntelliSense würde seine Mitglieder nicht anzeigen, was seltsam ist. Ich dachte, es könnte vielleicht etwas mit vorkompilierten Headern zu tun haben. Irgendwo habe ich gelesen, dass sich die STL und das Projekt auf demselben Laufwerk befinden sollten und dass das Problem gelöst werden sollte, wenn sie auf dasselbe Laufwerk gesetzt werden. Aber keine dieser Routen führte zum Erfolg.
quelle
Ich habe festgestellt, dass dies passieren kann, wenn das referenzierte Projekt auf eine höhere Version des Frameworks abzielt als das Projekt, das versucht, es zu verwenden. Sie können feststellen, ob dies das Problem ist, indem Sie im Ausgabefenster nach etwas Ähnlichem suchen:
Die Lösung besteht darin, das Ziel-Framework des einen oder anderen Projekts zu ändern.
quelle
Meine Symptome in VS2019 waren, dass ich mit einigen Fehlern bauen würde. Dann würde ich die Fehler beheben und der Build würde funktionieren, wie im Ausgabefenster gezeigt. In den Fehlerfenstern wurden jedoch immer noch die alten Fehler angezeigt. Ich könnte es gut laufen lassen. Durch Schließen von VS2019 und erneutes Öffnen wurde das Problem behoben, jedoch nur für kurze Zeit. Dies begann ab Version 16.4.3
Diese Lösung scheint für mich zu funktionieren:
Deaktivieren Sie Extras-> Option-> Projekte und Lösungen-> Allgemein-> Parallele Projektinitialisierung zulassen
Ich fand dieses Update in den Kommentaren hier vergraben: https://developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html
quelle
Bewegen Sie den Mauszeiger über die unterstrichenen Elemente. Es sollte Ihnen normalerweise sagen, wo das Problem liegt. Um eine Liste aller Fehler / Warnungen anzuzeigen, gehen Sie zu Ansicht => Fehlerliste. Am unteren Rand der IDE sollte eine Tabelle mit allen aufgelisteten Fehlern / Warnungen geöffnet werden.
quelle