Jak zmusić ReSharper do ponownej oceny podświetlenia referencji zespołu


184

Tworzę szablon projektu Pryzmat, a szablon działa świetnie. Ale po utworzeniu projektu z szablonem niektóre pliki wyglądają tak:

Złe referencje

Mimo pozorów wszystko jest w porządku.

Jeśli wykonam Przebuduj wszystko , widzę, że rozwiązanie buduje się bez błędów:

Odbudowany

Ale wszystko po przebudowaniu nie pozbywa się „błędów” wyświetlanych w oknie edytora. (Należy pamiętać, że okno rzeczywistych błędów nie pokazuje żadnych błędów).

Mogę czyścić, odbudowywać, zamykać i otwierać pliki, a to nie poprawi podświetlania.

Jeśli jednak zamknę rozwiązanie i ponownie je otworzę, wszystko będzie dobrze :

Działa po przeładowaniu

Moje pytanie:

Idealnie byłoby, gdyby mój szablon lub mój IWizard mógł powiedzieć ReSharperowi, aby ponownie załadował referencje do podświetlania.

Wiem, że mogę wyłączyć ReSharpera , a następnie włączyć go ponownie i to naprawi, ale wolałbym tego nie robić.

Czy istnieje polecenie ReSharper, które odświeża te rzeczy?


Czy używasz ReSharper?
John Saunders

@JohnSaunders - tak, 5.1
Vaccano

Widziałem, jak ReSharper to robi, więc może to być błąd ReSharper, a nie błąd VS. Niedawno widziałem to w wersji 6.1.
John Saunders

@JohnSaunders - Potwierdziłem, że jest to problem ReSharper. Zredagowałem moje pytanie, aby ponownie skierować je do ReSharper. Dzięki za wskazanie mi właściwego kierunku!
Vaccano

Jakich wersji Prism, WPF / SL / WinPhone używasz w swoim projekcie?
Jura Gorohovsky

Odpowiedzi:


216

Z wyjątkiem ponownej instalacji jedynym sposobem na skuteczne wyczyszczenie pamięci podręcznej jest ręczne usunięcie plików z katalogu AppData.

Usuń folder rozwiązania, który wywołuje smutek w następujących lokalizacjach:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ dla nowszych wersji.

Pamiętaj, że numery wersji na ścieżkach mogą się różnić w zależności od zainstalowanej wersji ReSharper.

XXW vXXi VsXXreprezentuje dowolną liczbę, bo tam może być wiele folderów, gdzie są przechowywane w pamięci podręcznej rozwiązanie.


8
Ta ścieżka może się różnić w zależności od konfiguracji pamięci podręcznej. (Zobacz Resharper> Opcje> Ogólne)
Bezimienny,

1
W porządku - ale zdecydowanie rozwiązuje problem, z którym się borykasz (i nie tylko ty ...)
Peter Munnings

2
Odpowiedź jest poprawna. Zamknij wszystkie instancje studia wizualnego, usuń% LOCALAPPDATA% \ JetBrains \ ReSharper \ [ wersja_instalowana ] \ SolutionCache.
Houman

3
@Joel w ReSharper 9, wraz z wprowadzeniem platformy %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCachesReSharper , został przeniesiony do (jak wspomina @brgerner , możesz najpierw kliknąć przycisk Wyczyść
pamięć podręczną

7
Możesz użyć Resharper -> Ogólne -> Wyczyść pamięć podręczną, aby wyczyścić pamięć podręczną niezależnie od lokalizacji pamięci podręcznej. Musisz ponownie uruchomić program Visual Studio po wyczyszczeniu pamięci podręcznej
Christopher Haws,

98

Spróbuj rozładować, a następnie ponownie załadować projekt.

Aby zwolnić projekt, kliknij prawym przyciskiem myszy projekt w eksploratorze rozwiązań i wybierz Unload Project. Następnie kliknij projekt ponownie prawym przyciskiem myszy i wybierzReload Project .

Problem nadal pojawia się sporadycznie w najnowszych wersjach ReSharper, ale poprawka wydaje się działać dla każdej wersji.


Wygląda na to, że przeładowanie powoduje ponowne skanowanie przez resharper. Wydaje mi się to łatwiejsze niż wyszukiwanie pamięci podręcznej w eksploratorze plików.
testpattern

69

Możesz spróbować wyczyścić pamięć podręczną ReSharper za pomocą menu ReSharperOpcjeŚrodowisko / Ogólne → przycisk Clear Caches.


1
Niestety, nadal go nie naprawiłem ... Dzięki za pomysł.
Vaccano

23
Następnie musisz ponownie uruchomić studio wizualne. Wtedy to zadziała.
Felix C

3
Nie działało dla mnie, nawet po ponownym uruchomieniu studia wizualnego. Dziękuję jednak.
Matt.

Zdarzyło mi się po obniżeniu pakietu nuget, a następnie ponownej aktualizacji. Skorzystałem z tej wskazówki, aby to naprawić.
Guillaume Perrot,

Działa najlepiej, jeśli zamkniesz studio wizualne, a następnie wykonaj msbuild yourSolution.sln / t: wyczyść, a następnie wyczyść wszystkie pamięci podręczne resharper, zapisz, a następnie ponownie otwórz rozwiązanie.
John-Philip

14

To zadziałało dla mnie. Nie ma potrzeby ponownego ładowania projektów. Możesz to zrobić z poziomu Visual Studio.

  1. Wyczyść pamięć podręczną ReSharper za pomocą ReSharper , Opcje , Ogólne , kliknij „ Wyczyść pamięć podręczną ”.

    Opcje Resharper

    Resharper Clear Caches

  2. ReSharper , Windows , wybierz „ Błędy rozwiązania ”. Spowoduje to otwarcie okna Błędy błędów. U góry tego okna kliknij przycisk, aby ponownie przeanalizować pliki z błędami / ostrzeżeniami .

    ResharperWindows

    Ponownie analizuj pliki z błędami


1
Pracował z R # 10.0.2, bez konieczności restartowania VS.
Seb T.

1
To zadziałało dla mnie, chociaż musiałem zrestartować VS
Rory McCrossan

6

Otwórz ReSharper - Opcje - Środowisko - Ogólne , przewiń w dół do dostępu do Msbuild i wybierz Uzyskaj dane z msbuild po każdej kompilacji .

To działało dla mnie, używając ReSharper 10.0.1 z ReSharper Build.


Wyczyściłem również rozwiązanie i odbudowałem je. Następnie mogę wrócić do poprzedniego dostępu do Msbuild, gdy działa
zn

5

Przejdź do ReSharper → WindowsOkno błędów rozwiązania , a otrzymasz przegląd błędów w swoim rozwiązaniu. Tam możesz kliknąć przycisk Reanalyze Files With Errors.

Jeśli chcesz, możesz przypisać do tego skrót. Przejdź do NarzędziaOpcjeKlawiatura i wyszukaj „Ponowna analiza”. Możesz przypisać skrót klawiszowy do „ReSharper_ErrorsView_ReanalyzeAllFiles” lub „ReSharper_ErrorsView_ReanalyzeFilesWithErrors”.


1
Mam podobny problem i nie można go naprawić.
Tilak

Po prostu to też zmęczyłem. To nie rozwiązało problemu. Resharper nadal oznaczał błędy, ale wszystko dobrze się skompilowało. Rozładowanie i ponowne załadowanie projektu to jedyne obejście, jakie mogę znaleźć. (Chociaż powiedziano mi, że jest to naprawione w najnowszej wersji
resharpera

Bardzo przydatne! Miałem ten sam problem z VS 2019 i Resharper 2019.3, ale tak naprawdę to nie był problem. Fakt, że kompilacje projektu nie są konieczne, oznacza, że ​​Resharper nie znajdzie błędów. W moim przypadku wystąpiły błędy w niektórych plikach testowych xml w moim projekcie NUnit. To rozwiązanie szybko znalazło pliki
shelbypereira

3

Mam podobny problem z pakietami nuget i znalazłem najbardziej dziwne obejście: wybierz odniesienie na liście odniesień do projektu i naciśnij „F4”. Jakoś wygląd okna właściwości powoduje, że resharper ponownie ocenia dostępne referencje ...


1
Nie miałem szczęścia ze wszystkimi wskazówkami dotyczącymi „czystej pamięci podręcznej”. Potem spróbowałem i prawie pomogło. Moje obejście polegało na: Znajdź projekt z problemem - otwórz referencje - wybierz referencję oznaczoną jako nieznana przez R # - Naciśnij F4 - zmień coś we właściwościach, na przykład „skopiuj lokalnie z prawdy na fałsz, a następnie z powrotem do prawdy”
Chrigl

Miałem podobną poprawkę. Musiałem faktycznie usunąć referencję z mojego projektu i ponownie ją dodać. Żadne inne rozwiązanie nie działało dla mnie.
CodeHxr

2

Nie jestem pewien, czy jest to ta sama główna przyczyna, ale odkryłem, że w opcjach ReSharper zaznaczono „Użyj MsBuild” i otrzymałem wiele błędnych błędów. Spróbuj zaznaczyć „ReSharper-> Opcje-> Ogólne” i sprawdź, w jakim stanie znajduje się czek „Użyj MsBuild”.


2

Przejdź do ReSharper → OpcjeOgólne i kliknij Clear Caches. (Mam 8.2, więc jeśli używasz innej wersji, może być gdzie indziej.)

Następnie musisz ponownie otworzyć swoje rozwiązanie, a ReSharper ponownie przeanalizuje wszystko.


Pracował dla mnie, dziękuję. Miałem mnóstwo projektów w swoim rozwiązaniu i nie chciałem ich rozładowywać / ładować ponownie jeden po drugim: p Nie jestem pewien, dlaczego dostałeś głos negatywny.
Karl Patrik Johansson,

1

Uruchom następujący kod w wierszu polecenia. Następnie rozwiąż problem ReSharper ...

del /q/f/s %TEMP%\*

0

Jedyne, co mi pomogło, to: Unistall i ponownie zainstaluj Resharper (naprawa nie działała)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254


0

To dziwny problem, który wciąż żyje i ma się dobrze w wersji 8.2.3 (kompilacja 8.2.3000.5176).

Wydaje mi się, że spójne dla mnie jest przebudowanie rozwiązania.

W VS 2013: Build -> Rebuild Solution


0

Jeśli powyższe rozwiązania nie działają, możesz spróbować zresetować typ wyniku projektu. Wydaje się, że to rozwiązuje problem w aktualizacji 1 VS2015 z ReSharper 10.1


0

Dla mnie żadne z powyższych nie zadziałało. Musiałem zainstalować nową wersję Resharper, która obsługuje NET Core 2.0.


0

Resharper zgłaszał brakujące referencje z projektu, który został zawarty w referencjach. Po wypróbowaniu innych rozwiązań tutaj wyłączyłem Resharper, wykonując instrukcje zawarte w tej odpowiedzi , i zauważyłem, że inteligencja Visual Studio nadal zgłaszała te same błędy.

W tym momencie zdałem sobie sprawę, że prawdopodobnie coś jest nie tak z plikiem projektu. Podejrzewałem, że referencja uległa subtelnej korupcji podczas scalania. 1

Usunąłem referencję, na którą skarżyło się, że nie może jej znaleźć, i dodałem ją ponownie. Błędy z Visual Studio zniknęły. Następnie ponownie włączyłem Resharper i już nie narzekałem na błędy w moim projekcie.


  1. Kiedy sprawdziłem, co się zmieniło w pliku csproj, znalazłem dodatek </Compile>, który nie miał odpowiedniego otwartego znacznika. To był rzeczywiście błąd scalania.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.