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?

Vaccano
źródło
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.

iggymoran
źródło
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.

zastrowm
źródło
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.

brgerner
źródło
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

Donal
źródło
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.

Winetradr
źródło
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”.

Piotr
źródło
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 ...

ironiczny
źródło
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”.

Marstow
źródło
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.

BJury
źródło
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%\*
Muhammed Eassa PN
źródło
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

Lu55
źródło
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

Zuchwały
źródło
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

Svenkle
źródło
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.

Tommy Ivarsson
źródło
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.
Charlie Kilian
źródło