So veranlassen Sie ReSharper, die Hervorhebung der Baugruppenreferenz neu zu bewerten

184

Ich erstelle eine Prisma-Projektvorlage und die Vorlage funktioniert hervorragend. Aber nachdem ich ein Projekt mit der Vorlage erstellt habe, sehen einige der Dateien folgendermaßen aus:

Schlechte Referenzen

Trotz des Auftretens ist alles in Ordnung.

Wenn ich alles neu erstelle, sehe ich, dass die Lösung fehlerfrei erstellt wird:

Wieder aufgebaut

Durch die Neuerstellung werden jedoch nicht die "Fehler" beseitigt, die im Editorfenster angezeigt werden. (Beachten Sie, dass das eigentliche Fehlerfenster keine Fehler anzeigt.)

Ich kann Dateien bereinigen, neu erstellen, schließen und öffnen, und die Hervorhebung wird dadurch nicht behoben.

Aber wenn ich die Lösung und wieder öffnen zu schließen, ist alles gut :

Funktioniert nach dem Neuladen

Meine Frage:

Im Idealfall kann meine Vorlage oder mein IWizard ReSharper anweisen, die Referenzen für die Hervorhebung neu zu laden.

Ich weiß, dass ich ReSharper aus- und wieder einschalten kann, und das wird es beheben, aber ich würde das lieber nicht tun.

Gibt es einen ReSharper-Befehl, der dieses Zeug nur aktualisiert?

Vaccano
quelle
Verwenden Sie ReSharper?
John Saunders
@ JohnSaunders - ja, 5.1
Vaccano
Ich habe gesehen, dass ReSharper dies getan hat, daher kann es sich um einen ReSharper-Fehler handeln, nicht um einen VS-Fehler. Ich habe das erst kürzlich mit Version 6.1 gesehen.
John Saunders
@ JohnSaunders - Ich habe bestätigt, dass dies ein ReSharper-Problem ist. Ich habe meine Frage bearbeitet, um sie erneut auf ReSharper auszurichten. Danke, dass du mich in die richtige Richtung gelenkt hast!
Vaccano
Welche Versionen von Prism, WPF / SL / WinPhone verwenden Sie in Ihrem Projekt?
Jura Gorohovsky

Antworten:

216

Abgesehen von der Neuinstallation besteht die einzige Möglichkeit, die Caches erfolgreich zu löschen, darin, die Dateien manuell aus Ihrem AppData-Verzeichnis zu löschen.

Löschen Sie den Lösungsordner, der Ihnen an folgenden Stellen Kummer bereitet:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ für neuere Versionen.

Beachten Sie, dass die Versionsnummern in den Pfaden je nach installierter ReSharper-Version unterschiedlich sein können.

Das XXin vXXund steht VsXXfür eine beliebige Zahl, da möglicherweise mehrere Ordner vorhanden sind, in denen der Lösungscache gespeichert ist.

Iggymoran
quelle
8
Dieser Pfad kann je nach Caches-Konfiguration unterschiedlich sein. (Siehe Resharper> Optionen> Allgemein)
Nameless One
1
Fair genug - aber es behebt definitiv das Problem, mit dem Sie konfrontiert sind (und nicht nur Sie ...)
Peter Munnings
2
Die Antwort ist richtig. Schließen Sie alle Visual Studio-Instanzen und löschen Sie% LOCALAPPDATA% \ JetBrains \ ReSharper \ [installierte_Version] \ SolutionCaches.
Houman
3
@Joel in ReSharper 9, mit der Einführung der ReSharper-Plattform, wurde es verschoben %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(wie @brgerner erwähnt , möchten Sie möglicherweise zuerst auf die Schaltfläche Caches löschen klicken, bevor Sie diese Route
wählen
7
Sie können Resharper -> Allgemein -> Caches löschen verwenden, um die Caches unabhängig von Ihrem Cache-Speicherort zu löschen. Sie müssen Visual Studio neu starten, nachdem Sie Ihren Cache
geleert haben
98

Versuchen Sie, das Projekt zu entladen und anschließend neu zu laden.

Um das Projekt zu entladen, klicken Sie im Solution Explorer mit der rechten Maustaste auf das Projekt und wählen Sie Unload Project. Klicken Sie dann erneut mit der rechten Maustaste auf das Projekt und wählen Sie Reload Project.

Das Problem tritt weiterhin gelegentlich bei den neuesten Versionen von ReSharper auf, aber das Update scheint für jede Version zu funktionieren.

zastrowm
quelle
Es sieht so aus, als würde beim erneuten Laden der Resharper erneut gescannt. Dies scheint mir einfacher zu sein, als im Datei-Explorer nach Caches zu suchen.
Testmuster
69

Sie können versuchen, den ReSharper-Cache über das Menü ReSharperOptionenUmgebung / Allgemein → zu löschen Clear Caches.

Brgerner
quelle
1
Leider hat es immer noch nicht behoben ... Danke für die Idee.
Vaccano
23
Danach müssen Sie Visual Studio neu starten. Dann wird es funktionieren.
Felix C
3
Hat bei mir nicht funktioniert, auch nach dem Neustart von Visual Studio. Vielen Dank jedoch.
Matt
Ist mir passiert, nachdem ich ein Nuget-Paket heruntergestuft und dann erneut aktualisiert habe. Verwendete diesen Hinweis, um zu beheben.
Guillaume Perrot
Funktioniert am besten, wenn Sie Visual Studio schließen und dann msbuild yourSolution.sln / t ausführen: Bereinigen Sie alle Resharper-Caches, speichern Sie sie und öffnen Sie sie erneut.
John-Philip
14

Das hat bei mir funktioniert. Projekte müssen nicht neu geladen werden. Sie können dies in Visual Studio tun.

  1. Löschen Sie den ReSharper-Cache über ReSharper , Optionen , Allgemein , und klicken Sie auf " Caches löschen ".

    Optionen zum erneuten Schärfen

    Resharper Clear Caches

  2. ReSharper , Windows , wählen Sie " Lösungsfehler ". Dadurch wird das Fenster "Lösungsfehler" geöffnet. Klicken Sie oben in diesem Fenster auf die Schaltfläche zum erneuten Analysieren von Dateien mit Fehlern / Warnungen .

    ResharperWindows

    Analysieren Sie Dateien mit Fehlern erneut

Donal
quelle
1
Arbeitete mit R # 10.0.2, ohne VS neu starten zu müssen.
Seb T.
1
Dies funktionierte für mich, obwohl ich VS
Rory McCrossan
6

Öffnen Sie ReSharper - Optionen - Umgebung - Allgemein und scrollen Sie nach unten zu Msbuild-Zugriff und wählen Sie Nach jeder Kompilierung Daten aus msbuild beziehen .

Dies funktionierte bei mir mit ReSharper 10.0.1 und ReSharper Build.

Winetradr
quelle
Ich habe auch die Lösung gereinigt und neu erstellt. Dann kann ich wieder zum vorherigen Msbuild-Zugriff wechseln, wenn es funktioniert
znn
5

Gehen Sie zu ReSharper → WindowsFenster "Lösungsfehler" , und Sie erhalten einen Überblick über die Fehler in Ihrer Lösung. Dort können Sie auf die Schaltfläche klickenReanalyze Files With Errors .

Wenn Sie möchten, können Sie dieser eine Verknüpfung zuweisen. Zum ExtraOptionenTastatur , und die Suche nach „erneut analysiert“. Sie können entweder 'ReSharper_ErrorsView_ReanalyzeAllFiles' oder 'ReSharper_ErrorsView_ReanalyzeFilesWithErrors' eine Tastenkombination zuweisen.

Peter
quelle
1
Ich stehe vor einem ähnlichen Problem und es wird nicht behoben.
Tilak
Ich habe das auch nur müde gemacht. Das Problem wurde nicht behoben. Resharper hat immer noch Fehler markiert, aber alles wurde gut kompiliert. Das Entladen und erneute Laden des Projekts ist die einzige Problemumgehung, die ich finden kann. (Obwohl mir gesagt wurde, dass es in der neuesten Version von
Resharper behoben ist
Sehr hilfreich! Ich hatte das gleiche Problem mit VS 2019 und Resharper 2019.3, aber tatsächlich war es KEIN Problem. Die Tatsache, dass das Projekt erstellt wird, bedeutet nicht, dass Resharper keine Fehler findet. In meinem Fall gab es einige Fehler in einigen XML-Testdateien in meinem NUnit-Projekt. Diese Lösung fand schnell die Dateien
Shelbypereira
3

Ich habe ein ähnliches Problem mit Nuget-Paketen und habe eine höchst seltsame Problemumgehung gefunden: Wählen Sie die Referenz in der Projektreferenzliste aus und drücken Sie 'F4'. Das Erscheinungsbild des Eigenschaftenfensters führt dazu, dass der Resharper die verfügbaren Referenzen neu bewertet ...

ironisch
quelle
1
Ich hatte kein Glück mit all den "Clean Cache" -Tipps. Dann habe ich es versucht und es hat fast geholfen. Meine Problemumgehung war: Finden Sie das Projekt mit dem Problem - öffnen Sie die Referenzen - wählen Sie die Referenz aus, die von R # als unbekannt markiert wurde - Drücken Sie F4 - ändern Sie etwas in den Eigenschaften, wie "Lokal von wahr nach falsch kopieren, dann zurück nach wahr".
Chrigl
Ich hatte eine ähnliche Lösung. Ich musste die Referenz tatsächlich aus meinem Projekt entfernen und erneut hinzufügen. Keine der anderen Lösungen hat bei mir funktioniert.
CodeHxr
2

Ich bin nicht sicher, ob dies dieselbe Grundursache ist, aber ich habe festgestellt, dass in den ReSharper-Optionen "MsBuild verwenden" aktiviert wurde und alle möglichen fehlerhaften Fehler gemeldet wurden. Überprüfen Sie "ReSharper-> Options-> General" und prüfen Sie, in welchem ​​Status sich die Prüfung "MsBuild verwenden" befindet.

Marstov
quelle
2

Gehen Sie zu ReSharper → OptionenAllgemein und klicken Sie aufClear Caches . (Ich habe 8.2. Wenn Sie also eine andere Version verwenden, befindet sich diese möglicherweise an einer anderen Stelle.)

Anschließend müssen Sie Ihre Lösung erneut öffnen, und ReSharper analysiert alles erneut.

BJury
quelle
Arbeitete für mich, danke. Ich hatte Unmengen von Projekten in meiner Lösung und wollte sie nicht alle einzeln entladen / neu laden: p Ich bin mir nicht sicher, warum Sie eine Abwertung erhalten haben.
Karl Patrik Johansson
1

Führen Sie den folgenden Code an einer Eingabeaufforderung aus. Dann lösen Sie das ReSharper-Problem ...

del /q/f/s %TEMP%\*
Muhammed Eassa PN
quelle
0

Das einzige, was mir geholfen hat, ist: Deinstallieren und dann Resharper erneut installieren (Reparatur hat nicht funktioniert)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254

Lu55
quelle
0

Dies ist ein seltsames Problem, das in Version 8.2.3 (Build 8.2.3000.5176) noch am Leben ist.

Was für mich konsequent zu funktionieren scheint, ist eine Neuerstellung der Lösung.

In VS 2013: Erstellen -> Lösung neu erstellen

Andacious
quelle
0

Wenn die oben genannten Lösungen nicht funktionieren, können Sie versuchen, den Projektausgabetyp zurückzusetzen. Dies scheint das Problem in VS2015 Update 1 mit ReSharper 10.1 zu beheben

Svenkle
quelle
0

Für mich hat keines der oben genannten funktioniert. Ich musste die neue Version von Resharper installieren, die NET Core 2.0 unterstützt.

Tommy Ivarsson
quelle
0

Resharper meldete eine fehlende Referenz aus einem Projekt, das in den Referenzen enthalten war. Nachdem ich die anderen Lösungen hier ausprobiert hatte, deaktivierte ich Resharper über die Anweisungen in dieser Antwort und stellte fest, dass die Intellisense von Visual Studio immer noch dieselben Fehler meldete.

Zu diesem Zeitpunkt wurde mir klar, dass wahrscheinlich etwas mit der Projektdatei nicht stimmte. Ich vermutete, dass eine Referenz während einer Zusammenführung auf subtile Weise beschädigt wurde. 1

Ich habe die Referenz gelöscht, über die es sich beschwert hat, dass sie nicht gefunden wurde, und sie erneut hinzugefügt. Die Fehler von Visual Studio sind verschwunden. Dann habe ich Resharper wieder aktiviert und es hat sich nicht mehr über Fehler in meinem Projekt beschwert.


  1. Als ich überprüfte, was sich in der csproj-Datei geändert hatte, fand ich ein Extra </Compile>, das kein entsprechendes offenes Tag hatte. Es war also in der Tat ein Zusammenführungsfehler.
Charlie Kilian
quelle