Cara membuat ReSharper mengevaluasi kembali penyorotan referensi rakitannya

184

Saya membuat Template Proyek Prisma, dan template itu berfungsi dengan baik. Tetapi setelah saya membuat proyek dengan template beberapa file terlihat seperti ini:

Referensi Buruk

Terlepas dari penampilan, semuanya baik-baik saja.

Jika saya melakukan Rebuild All, saya melihat bahwa solusinya dibangun tanpa kesalahan:

Dibangun kembali

Tetapi membangun kembali semua tidak menghilangkan "kesalahan" yang ditampilkan di jendela editor. (Perhatikan bahwa jendela kesalahan aktual tidak menunjukkan kesalahan apa pun.)

Saya dapat membersihkan, membangun kembali, menutup dan membuka file, dan itu tidak akan memperbaiki penyorotan.

Namun, jika saya menutup solusi dan membukanya kembali, semuanya baik-baik saja :

Bekerja Setelah Muat Ulang

Pertanyaan saya:

Idealnya akan ada cara untuk template saya atau IWizard saya untuk memberitahu ReSharper untuk memuat ulang referensi untuk penyorotan.

Saya tahu saya bisa mematikan ReSharper lalu nyalakan lagi dan itu akan memperbaikinya, tapi saya lebih suka tidak melakukannya.

Apakah ada perintah ReSharper yang baru saja menyegarkan hal ini?

Gunung berapi
sumber
Apakah Anda menggunakan ReSharper?
John Saunders
@JohnSaunders - ya, 5.1
Vaccano
Saya telah melihat ReSharper melakukan ini, jadi itu mungkin bug ReSharper, bukan bug VS. Saya baru saja melihat ini dengan versi 6.1.
John Saunders
@ JohnSaunders - Saya mengkonfirmasi bahwa ini adalah masalah ReSharper. Saya mengedit pertanyaan saya untuk menargetkan kembali ke ReSharper. Terima kasih telah mengarahkan saya ke arah yang benar!
Vaccano
Versi Prism, WPF / SL / WinPhone apa yang Anda gunakan dalam proyek Anda?
Jura Gorohovsky

Jawaban:

216

Kecuali untuk menginstal ulang, satu-satunya cara untuk menghapus cache dengan sukses adalah dengan menghapus file secara manual dari direktori AppData Anda.

Hapus folder solusi yang memberi Anda kesedihan di lokasi berikut:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ untuk versi yang lebih baru.

Perhatikan bahwa nomor versi di jalur mungkin berbeda tergantung pada versi ReSharper yang diinstal.

The XXdalam vXXdan VsXXmewakili nomor apapun, karena mungkin ada beberapa folder di mana cache solusi disimpan.

iggymoran
sumber
8
Jalur ini mungkin berbeda tergantung pada konfigurasi Cache Anda. (Lihat Resharper> Opsi> Umum)
Nameless One
1
Cukup adil - tapi itu pasti memperbaiki masalah yang Anda hadapi (dan bukan hanya Anda ...)
Peter Munnings
2
Jawabannya benar. Tutup semua instance studio visual Anda, hapus% LOCALAPPDATA% \ JetBrains \ ReSharper \ [Install_version] \ SolutionCaches.
Houman
3
@ Joel di ReSharper 9, dengan diperkenalkannya ReSharper Platform, sudah dipindahkan ke %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(seperti @brgerner menyebutkan , Anda mungkin ingin mengklik tombol Hapus Cache terlebih dahulu sebelum menempuh rute ini)
bdukes
7
Anda dapat menggunakan Resharper -> Umum -> Bersihkan Cache untuk menghapus cache terlepas dari lokasi cache Anda. Anda harus me-restart Visual Studio setelah membersihkan cache Anda
Christopher Haws
98

Coba bongkar dan muat ulang proyek.

Untuk membongkar proyek, klik kanan proyek di penjelajah solusi, dan pilih Unload Project. Kemudian, klik kanan proyek lagi dan pilihReload Project .

Masalah ini terus terjadi sesekali dengan versi terbaru ReSharper, tetapi perbaikannya tampaknya bekerja untuk setiap versi.

zastrowm
sumber
Sepertinya memuat ulang menyebabkan resharper untuk memindai ulang. Bagi saya ini lebih mudah daripada mencari cache di file explorer.
testpattern
69

Anda dapat mencoba membersihkan cache ReSharper melalui menu ReSharperPilihanLingkungan / Umum → tombol Clear Caches.

brgerner
sumber
1
Sayangnya, itu masih tidak memperbaikinya ... Terima kasih atas idenya.
Vaccano
23
Setelah itu, Anda harus memulai kembali studio visual. Maka akan berhasil.
Felix C
3
Tidak bekerja untuk saya, bahkan setelah memulai kembali studio visual. Namun terima kasih.
Mat
Terjadi pada saya setelah menurunkan paket nuget lalu memutakhirkan lagi. Gunakan petunjuk ini untuk memperbaikinya.
Guillaume Perrot
Berfungsi paling baik jika Anda menutup visual studio kemudian melakukan msbuild yourSolution.sln / t: bersih lalu bersihkan semua cache resharper, simpan dan buka kembali solusi Anda.
John-Philip
14

Ini berhasil untuk saya. Tidak perlu memuat ulang proyek. Anda dapat melakukan ini dari dalam Visual Studio.

  1. Bersihkan cache ReSharper melalui ReSharper , Options , General , klik ' Clear Caches '.

    Opsi Resharper

    Resharper Hapus Cache

  2. ReSharper , Windows , pilih ' Solusi Kesalahan '. Ini akan meluncurkan jendela Solusi Kesalahan. Di bagian atas jendela ini, klik tombol untuk ' Menganalisis Ulang File dengan Kesalahan / Peringatan '.

    ResharperWindows

    Analisis Ulang File Dengan Kesalahan

Donal
sumber
1
Bekerja dengan R # 10.0.2, tanpa harus memulai ulang VS.
Seb T.
1
Ini bekerja untuk saya, walaupun saya harus memulai kembali VS
Rory McCrossan
6

Buka ReSharper - Opsi - Lingkungan - Umum , gulir ke bawah ke akses Msbuild dan pilih Dapatkan data dari msbuild setelah setiap kompilasi .

Ini bekerja untuk saya, menggunakan ReSharper 10.0.1 dengan ReSharper Build.

Winetradr
sumber
Saya juga membersihkan solusinya dan membangunnya kembali. Lalu saya bisa beralih kembali ke akses Msbuild sebelumnya ketika berfungsi
znn
5

Pergi ke ReSharper → WindowsSolution Errors Window , dan Anda akan mendapatkan gambaran umum kesalahan dalam solusi Anda. Di sana, Anda bisa mengklik tombol Reanalyze Files With Errors.

Jika mau, Anda dapat menetapkan pintasan untuk ini. Pergi ke AlatPilihanKeyboard , dan cari "Analisis ulang". Anda dapat menetapkan pintasan keyboard untuk 'ReSharper_ErrorsView_ReanalyzeAllFiles' atau 'ReSharper_ErrorsView_ReanalyzeFilesWithErrors'.

Peter
sumber
1
saya menghadapi masalah serupa, dan itu tidak diperbaiki.
Tilak
Saya hanya lelah ini juga. Itu tidak memperbaiki masalah. Resharper masih ditandai kesalahan, tetapi semuanya dikompilasi dengan baik. Membongkar dan memuat ulang proyek adalah satu-satunya solusi yang dapat saya temukan. (Meskipun saya diberitahu itu diperbaiki dalam versi terbaru dari resharper)
Vaccano
Sangat berguna! Saya memiliki masalah yang sama dengan VS 2019, dan Resharper 2019.3, tetapi sebenarnya BUKAN masalah. Fakta bahwa proyek dibangun tidak perlu berarti bahwa Resharper tidak akan menemukan kesalahan. Dalam kasus saya ada beberapa kesalahan dalam beberapa file tes xml di proyek NUnit saya. Solusi ini dengan cepat menemukan file
shelbypereira
3

Saya memiliki masalah serupa dengan paket nuget dan saya menemukan solusi yang paling aneh: pilih referensi dalam daftar referensi proyek dan tekan 'F4'. Entah bagaimana penampilan jendela properti menyebabkan resharper untuk mengevaluasi kembali referensi yang tersedia ...

ironis
sumber
1
Saya tidak beruntung dengan semua tips "cache bersih". Kemudian saya mencoba ini dan itu hampir membantu. Solusi saya adalah: Temukan proyek dengan masalah - buka referensi - pilih referensi yang ditandai sebagai tidak diketahui oleh R # - Tekan F4 - ubah sesuatu di properti, seperti "salin lokal dari true ke false, lalu kembali ke true"
Chrigl
Saya memiliki perbaikan serupa. Saya harus benar-benar menghapus referensi dari proyek saya dan menambahkannya kembali. Tidak ada solusi lain yang bekerja untuk saya.
CodeHxr
2

Saya tidak yakin ini adalah akar penyebab yang sama, tetapi saya menemukan bahwa, dalam opsi ReSharper, "Gunakan MsBuild" telah diperiksa dan saya mendapatkan semua jenis kesalahan yang dilaporkan. Coba periksa "ReSharper-> Opsi-> Umum" dan lihat status apa yang dicentang "Pakai MsBuild".

Marstov
sumber
2

Pergi ke ReSharper → PilihanUmum dan klikClear Caches . (Saya punya 8.2, jadi jika Anda berada di versi yang berbeda mungkin ada di tempat lain.)

Anda kemudian harus membuka kembali solusi Anda, dan ReSharper akan menganalisis kembali semuanya.

BJury
sumber
Bekerja untuk saya, terima kasih. Saya punya banyak proyek dalam solusi saya dan tidak ingin membongkar / memuat semuanya satu per satu: p Tidak yakin mengapa Anda mendapat downvote.
Karl Patrik Johansson
1

Jalankan kode berikut dalam prompt perintah. Kemudian pecahkan masalah ReSharper ...

del /q/f/s %TEMP%\*
Muhamad Eassa PN
sumber
0

Satu-satunya hal yang membantu saya adalah: Unistall dan daripada Instal Resharper lagi (Perbaikan tidak berfungsi)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254

Lu55
sumber
0

Ini adalah masalah aneh, dan masih hidup dan dalam versi 8.2.3 (build 8.2.3000.5176).

Apa yang tampaknya berhasil bagi saya secara konsisten adalah melakukan solusi membangun kembali.

Dalam VS 2013: Build -> Rebuild Solution

Andacious
sumber
0

Jika solusi di atas tidak berhasil, Anda dapat mencoba mengatur ulang tipe output proyek. Ini tampaknya memperbaiki masalah pada VS2015 Pembaruan 1 dengan ReSharper 10.1

Svenkle
sumber
0

Bagi saya tidak ada di atas yang berhasil. Saya harus menginstal versi baru Resharper yang mendukung NET Core 2.0.

Tommy Ivarsson
sumber
0

Resharper melaporkan referensi yang hilang dari proyek yang dimasukkan dalam referensi. Setelah mencoba solusi lain di sini, saya menonaktifkan Resharper melalui instruksi jawaban ini , dan saya menemukan bahwa intellisense Visual Studio masih melaporkan kesalahan yang sama.

Pada titik ini, saya menyadari mungkin ada sesuatu yang salah dengan file proyek. Saya menduga referensi telah rusak secara halus saat penggabungan.1

Saya menghapus referensi yang mengeluh tidak dapat menemukan dan menambahkannya kembali. Kesalahan dari Visual Studio hilang. Kemudian saya mengaktifkan kembali Resharper, dan tidak lagi mengeluh tentang kesalahan dalam proyek saya.


  1. Ketika saya memeriksa untuk melihat apa yang telah berubah dalam file csproj, apa yang saya temukan adalah tambahan </Compile>yang tidak memiliki tag terbuka yang sesuai. Jadi itu memang kesalahan gabungan.
Charlie Kilian
sumber