Visual Studio zeigt Fehler an, auch wenn Projekte erstellt werden

265

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?

GammaOmega
quelle
3
Haben Sie ReSharper oder ein anderes Addon wie dieses installiert? Sie können auch rote, schnörkellose Linien verursachen.
user1908061
3
Versuchen Sie, die Ordner bin und obj aus jedem Projekt zu löschen.
Charlie Brown
Fehler oder Warnungen? Wenn ein Projekt erstellt wird, bedeutet dies, dass es sich um Warnungen handelt. Deaktivieren Sie alle Addons und sehen Sie, wie es geht.
Ehsan
Wir haben das gleiche Problem mit 2 unserer Maschinen auf VS 2013 RC Kandidat. Es ist jedoch kein Resharper installiert. Das Delemma hier ist, dass, obwohl es ohne Probleme erstellt wird, kein Intellisense funktioniert, da es Namespaces und Objekte nicht "auflösen" kann. Sehr seltsam. Funktioniert perfekt auf 5 anderen Maschinen.
Ryk
Ungelöste Konflikte in Team Foundation Server können ebenfalls eine Ursache für dieses Problem sein. Wenn Sie die neueste Version erhalten, wird möglicherweise gemeldet, dass sie erfolgreich ist und alle Dateien aktualisiert wurden. Dies ist jedoch nicht immer der Fall. Wenn Sie zu Team Explorer> Ausstehende Änderungen> Dropdown-Liste Aktionen> Konflikte lösen gehen und auf "Alle Konflikte abrufen" klicken, sollte angezeigt werden, ob ungelöste Konflikte vorhanden sind, die Sie beheben müssen.
user2310967

Antworten:

325

Wenn Sie über ReSharper verfügen, leeren Sie den ReSharper-Cache:

Im Menü ReSharper> Optionen> Umgebung> Allgemein> Caches löschen

und Deaktivieren und erneutes Aktivieren von ReSharper:

Im Menü Extras> Optionen> ReSharper> Allgemein> Anhalten / Wiederherstellen

GammaOmega
quelle
181

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 .

Neolisk
quelle
7
Die Resharper-Schritte haben auch bei mir nicht funktioniert, aber das hat funktioniert. Vielen Dank!
Justin Morgan
4
Ihre Lösung hat das Problem für mich behoben, nachdem Visual Studio neu gestartet wurde. Vielen Dank! :)
Moulde
1
VS2015 - Ich hatte sogar 1 Projekt, das nicht erstellt werden konnte, aber ich konnte anhand der Fehler erkennen, dass es vorhanden sein sollte. Ich musste VS nicht schließen. Schließen Sie einfach die Lösung, löschen Sie .suo und öffnen Sie die Lösung erneut. Problem gelöst.
TTT
5
Funktioniert immer noch mit VS2019, danke! Die dortige .suo-Datei befindet sich unter .vs / [Lösungsname] / v16.
Michael Armes
3
VS2019, ich habe das .vs-Verzeichnis zerstört, es wurde beim nächsten Build neu erstellt - der falsche Fehler ist verschwunden.
Loren Pechtel
92

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.

TTT
quelle
7
Ich habe gerade versucht, dieses Projekt zu entladen und neu zu laden, und das hat funktioniert. “ Ich habe das Gefühl, dass ich zu einem Frachtkult beitrage, aber am Ende habe ich geladen und entladen (mit zufälligen Reinigungen und Builds dazwischen) und schließlich Gold gefunden. So seltsam. Dies ist mit VS 2017.
Ruffin
2
@ Ruffin - hehe. Ich denke, jede Antwort auf diese Frage ist ein "Frachtkult", aber ich glaube, meine ist die schnellste und am wenigsten aufdringliche. ;)
TTT
1
Das Löschen des gesamten .vs-Ordners hat es für mich in der VS 2017 Community mit ReSharper getan
Pedro Martins Timóteo da Costa
3
Das Entladen und Nachladen funktionierte auch für mich in VS 2019 CE
simonlchilds
1
Das Löschen des .vs-Ordners funktionierte für mich in VS 2019 ohne ReSharper, nur mit VS. VIELEN DANK!!!
Deutscher Latorre
39

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.

Pixel
quelle
2
Diese Schritte, genau befolgt, haben bei mir funktioniert. Einfach nur putzen und bauen würde bei mir nicht funktionieren.
JasonCoder
2
Schalten Sie es aus und wieder ein ... Sie denken, ich würde das jetzt wissen. +1
iandisme
Dies löste das Problem! Aber was hat es überhaupt verursacht?
DiligentKarma
2
Ich habe keine Ahnung. Ich finde, dass Visual Studio die instabilste IDE ist, die ich verwendet habe. Es bleibt hängen, stürzt häufig ab und zeigt gelegentlich seltsame Fehler. Ich habe aufgehört, die Themen zu zählen, um ehrlich zu sein.
Pixel
Das Befolgen dieser genauen Schritte hat das Problem für mich nicht gelöst (in VS2015).
Tim
29

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:

  • Schließen Sie Visual Studio
  • Löschen Sie die Datei {sln-root} .vs \ SlnName \ v15.suo (versteckt).
  • Starten Sie Visual Studio neu
Rebecca
quelle
Danke für diesen Tipp. Es wurde ein Problem für uns mit VS 2017 behoben (ohne Aktualisierungen). FWIW, dies geschah uns nach dem Löschen und Auschecken eines Zweigs, der auf der Fernbedienung neu basiert wurde.
Mike Atkisson
1
Obwohl diese Lösung mein Problem nicht behoben hat, glaube ich, dass dieses Problem begann, nachdem ich Zweige mit nicht
festgeschriebenen
Das ist genau mein Problem. Vielen Dank, mein Retter
Dinh Tran
@CularBytes Es könnte sich lohnen, Änderungen zu speichern, bevor Sie die Zweige wechseln. Git Stash, Switch Branch, Git Stash Pop
Rebecca
18

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.

suresh t
quelle
Es scheint eine neue Ursache für dieses Problem zu geben, und dies ist die neue Lösung für dieses Problem. Ich kenne 3 andere Leute, die auch in Tagen, in denen Sie dies gepostet haben, plötzlich auf dieses Problem gestoßen sind.
Gerrie Pretorius
Musste das gleiche tun wie Moshi. Scheint keine .suo-Datei zu sein, wenn sie von VS 2019 ausgeführt wird. Man hätte gedacht, dass sie dieses Problem inzwischen behoben haben ... * murren murren murren *
Mike Loux
Für mich Gabel auch in vs2017
Nejc Galof
1
@MikeLoux Werfen Sie einen Blick auf die Antwort von Neolisk und Sie werden sehen, dass er darauf hingewiesen hat, dass sich die .suo-Datei jetzt im .vs-Ordner befindet. Sie müssen also nur diese eine Datei löschen, nicht den gesamten Ordner. Nicht, dass dies besonders zufriedenstellend wäre!
Avrohom Yisroel
Avrohom - das letzte bisschen fasst es perfekt zusammen. Nein, es ist überhaupt nicht sehr zufriedenstellend. Und ja, ich glaube, ich habe letztendlich die Datei gefunden, in der Sie und Neolisk darauf hingewiesen haben, und habe dies getan, als sie einige Male wieder aufgetreten ist (zum Glück nicht annähernd so oft). Also ... das ist etwas, denke ich. :-)
Mike Loux
12

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:

<ProjectGuid>{GUID}</ProjectGuid>

und in allen referenzierenden Projekten waren .csproj-Dateien Projektreferenzen:

<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
  <Project>{ANOTHER-GUID}</Project>
  <Name>Offending Project</Name>
</ProjectReference>

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.

Philip C.
quelle
Dies funktionierte für mich, obwohl es ein Nuget-Paket war. Ich habe sichergestellt, dass der Pfad in der .csproj-Datei relativ bleibt (im TFS-DIFF hat sich buchstäblich nichts geändert), aber dies hat VS2017 STFU zu den nicht vorhandenen Fehlern gemacht.
BrainSlugs83
1
Ich musste nur eine einzige Projektreferenz erneut hinzufügen und alle Problemreferenzen wurden aktualisiert
robaudas
Keine der anderen Lösungen hat bei mir funktioniert, diese hat es geschafft :)
Pablo Carrasco Hernández
12

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:

Im Menü Build> Clean Solution

Und

Im Menü Build> Build Solution

und wählen Sie das betreffende Projekt aus und klicken Sie auf die Schaltfläche Aktualisieren:

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:

  1. Reinigen Sie die Lösung
  2. Schließen Sie Visual Studio
  3. Öffnen Sie Visual Studio
  4. Lösung erstellen

Option 3: ReSharper-Cache löschen ( Option @GammaOmega )

Wenn Sie über ReSharper verfügen, leeren Sie den ReSharper-Cache:

Im Menü ReSharper> Optionen> Umgebung> Allgemein> Caches löschen

und Deaktivieren und erneutes Aktivieren von ReSharper:

Im Menü Extras> Optionen> ReSharper> Allgemein> Anhalten / Wiederherstellen

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:

[Pfad der Lösung] /. Vs / [Lösungsname] /v14/.suo

Und für Visual Studio 2017:

[Pfad der Lösung] /. Vs / [Lösungsname] /v15/.suo

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:

Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projekt, Projekt entladen.

Und neu laden

Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projekt, Projekt 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.

Erweitern Sie im Projektmappen-Explorer das Projekt, erweitern Sie "Verweise", klicken Sie mit der rechten Maustaste auf "Microsoft.CSharp" und entfernen Sie.

Klicken Sie dann mit der rechten Maustaste auf Referenzen> Referenz hinzufügen, wählen Sie "Microsoft.CSharp" aus der Liste aus und klicken Sie auf OK

GammaOmega
quelle
Option 6 hat es geschafft. Musste auf den @ Guilherme-Link klicken, um eine Bewertung abzugeben, da dies (jetzt?) Eine andere Frage ist.
Gbarry
Keines der oben genannten hat für mich funktioniert, mit über 80 Projekten in Lösung
Efe
10

Löschen Sie den versteckten Dateipfad = Ihre Lösung \ .vs \ Ihr Lösungsname \ v15 \ .suo

NoXSaeeD
quelle
1
arbeitete auch für mich. VS 2019. WPF-Projekte zeigten weiterhin Fehler in Bezug auf nicht vorhandene Steuerelemente, liefen jedoch einwandfrei.
Flemming Bonde Kentved
6

Für VS-2017 funktionierte das Löschen des .vs-Ordners für mich.

Romesh D. Niriella
quelle
5

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:

  1. Projektmappen-Explorer -> Suchen Sie die Datei mit der nicht erkannten Klasse.
  2. Klicken Sie oben im Projektmappen-Explorer auf Alle Dateien anzeigen.
  3. Klicken Sie mit der rechten Maustaste auf die Datei -> Vom Projekt ausschließen.
  4. Klicken Sie erneut mit der rechten Maustaste auf die Datei -> In Projekt einschließen.

Dies führt dazu, dass Intellisense die Datei analysiert, die beim Wechseln der Zweige übersehen wurde.

Erik
quelle
4

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

Vijay Hugar
quelle
3

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.

Daniel Nachtrub
quelle
3

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.

Technobabble
quelle
3

Das Löschen des .vsOrdners 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.

Usman Farooq
quelle
2

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

nPcomp
quelle
2

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 usingAnweisungen 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.

AperioOculus
quelle
1

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.

Fjarskiptagervitungl
quelle
1

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:

KidCode
quelle
1

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:

Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File
Conor Gallagher
quelle
1
  1. Schließen Sie zuerst die Lösung.
  2. Löschen Sie dann die Lösungs-Cache-Datei (unter Speicherort C: \ Benutzer \ Dokumente \ Visual Studio \ Sicherungsdateien / Projekt-Cache-Datei).
  3. dann .suo Datei löschen
  4. dann Lösung öffnen und bauen.

Ich hoffe, Ihr Problem zu lösen

Mahfuz Morshed
quelle
1

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.

Brett
quelle
1

Das Projekt entladen und neu laden hat dieses Problem behoben.

Ankush Jain
quelle
0

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.

meJustAndrew
quelle
0

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.

Thorb
quelle
0

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

m Butler
quelle
0

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.

j00hi
quelle
0

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 primäre Referenz "my_reference" konnte nicht aufgelöst werden, da sie für das Framework ".NETFramework, Version = v4.7.2" erstellt wurde. Dies ist eine höhere Version als das derzeit angestrebte Framework ".NETFramework, Version = v4.7".

Die Lösung besteht darin, das Ziel-Framework des einen oder anderen Projekts zu ändern.

michaela112358
quelle
0

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

Daniel Williams
quelle
-1

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.

ionutioio
quelle
Es gibt verschnörkelte Linien unter zufälligen Klassen, aber ich erhalte keine Fehler in der Fehlerliste. Darüber hinaus sind die Projekte perfekt aufgebaut. Es sieht so aus, als ob es mit Intellisense zusammenhängt.
GammaOmega