วิธีการทำให้ ReSharper ประเมินไฮไลต์การอ้างอิงแอสเซมบลีอีกครั้ง


184

ฉันกำลังสร้างเทมเพลตโครงการปริซึมและเทมเพลตใช้งานได้ดี แต่หลังจากที่ฉันสร้างโครงการด้วยเทมเพลตบางไฟล์มีลักษณะดังนี้:

การอ้างอิงที่ไม่ดี

แม้จะมีรูปร่าง แต่ทุกอย่างก็โอเค

ถ้าฉันทำRebuild ทั้งหมดฉันเห็นว่าโซลูชันสร้างโดยไม่มีข้อผิดพลาด:

สร้างขึ้นมาใหม่

แต่การสร้างใหม่ทั้งหมดไม่ได้เป็นการกำจัด "ข้อผิดพลาด" ที่แสดงในหน้าต่างตัวแก้ไข (โปรดทราบว่าหน้าต่างข้อผิดพลาดจริงจะไม่แสดงข้อผิดพลาดใด ๆ )

ฉันสามารถล้างสร้างใหม่ปิดและเปิดไฟล์ได้และจะไม่แก้ไขไฮไลต์

อย่างไรก็ตามถ้าฉันปิดโซลูชันและเปิดใหม่อีกครั้งทุกอย่างดี :

ทำงานหลังจากโหลดซ้ำ

คำถามของฉัน:

จะเป็นการดีถ้ามีวิธีสำหรับเทมเพลตของฉันหรือ IWizard ของฉันบอก ReSharper ให้โหลดการอ้างอิงสำหรับการเน้นอีกครั้ง

ฉันรู้ว่าฉันสามารถปิด ReSharper แล้วเปิดใหม่อีกครั้งและนั่นจะแก้ไขได้ แต่ฉันจะไม่ทำเช่นนั้น

มีคำสั่ง ReSharper ที่เพิ่งรีเฟรชสิ่งนี้หรือไม่?


คุณใช้ ReSharper หรือไม่
จอห์นแซนเดอ

@JohnSaunders - ใช่ 5.1
Vaccano

ฉันเคยเห็น ReSharper ทำเช่นนี้ดังนั้นอาจเป็นข้อผิดพลาด ReSharper ไม่ใช่ข้อผิดพลาด VS ฉันเพิ่งเห็นสิ่งนี้กับรุ่น 6.1
จอห์นแซนเดอ

@JohnSaunders - ฉันยืนยันว่านี่เป็นปัญหา ReSharper ฉันแก้ไขคำถามของฉันเพื่อกำหนดเป้าหมายไปที่ ReSharper อีกครั้ง ขอบคุณที่ชี้นำฉันในทิศทางที่ถูกต้อง!
Vaccano

คุณใช้ Prism, WPF / SL / WinPhone เวอร์ชันใดในโครงการของคุณ
Jura Gorohovsky

คำตอบ:


216

ยกเว้นการติดตั้งใหม่วิธีเดียวที่จะล้างแคชได้สำเร็จคือการลบไฟล์ออกจากไดเรกทอรี AppData ด้วยตนเอง

ลบโฟลเดอร์โซลูชันที่ทำให้คุณเศร้าโศกในสถานที่ต่อไปนี้:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ สำหรับรุ่นที่ใหม่กว่า

โปรดทราบว่าหมายเลขรุ่นในเส้นทางอาจแตกต่างกันไปขึ้นอยู่กับรุ่น ReSharper ที่ติดตั้ง

XXในvXXและVsXXหมายถึงจำนวนใด ๆ เพราะอาจจะมีหลายโฟลเดอร์ที่แคชวิธีการแก้ปัญหาจะถูกเก็บไว้


8
เส้นทางนี้อาจแตกต่างกันไปขึ้นอยู่กับการกำหนดค่าแคชของคุณ (ดู Resharper> ตัวเลือก> ทั่วไป)
นิรนาม

1
ยุติธรรมเพียงพอ - แต่แน่นอนว่าจะแก้ไขปัญหาที่คุณกำลังเผชิญอยู่ (และไม่ใช่แค่คุณ ... )
Peter Munnings

2
คำตอบนั้นถูกต้อง ปิดอินสแตนซ์ที่มองเห็นทั้งหมดของคุณลบ% LOCALAPPDATA% \ JetBrains \ ReSharper \ [installed_version] \ SolutionCaches
Houman

3
@Joel ใน ReSharper 9 ด้วยการแนะนำ ReSharper Platform มันถูกย้ายไปที่%localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(เนื่องจาก @brgerner กล่าวถึงคุณอาจต้องการคลิกปุ่มClear Cachesก่อนที่จะไปในเส้นทางนี้)
bdukes

7
คุณสามารถใช้ Resharper -> ทั่วไป -> ล้างแคชเพื่อล้างแคชโดยไม่คำนึงถึงตำแหน่งแคชของคุณ คุณจะต้องเริ่มต้น Visual Studio ใหม่หลังจากล้างแคชของคุณ
Christopher Haws

98

ลองยกเลิกการโหลดจากนั้นโหลดโครงการอีกครั้ง

Unload Projectขนโครงการคลิกขวาในโครงการสำรวจการแก้ปัญหาและเลือก Reload Projectแล้วคลิกขวาที่โครงการอีกครั้งและเลือก

ปัญหายังคงเกิดขึ้นเป็นครั้งคราวด้วย ReSharper รุ่นล่าสุด แต่การแก้ไขดูเหมือนจะใช้ได้กับทุกรุ่น


ดูเหมือนว่าการรีโหลดทำให้ resharper สแกนซ้ำอีกครั้ง ดูเหมือนว่าฉันจะง่ายกว่าการค้นหาแคชในตัวสำรวจไฟล์
testpattern

69

คุณอาจจะลองล้างแคช ReSharper ผ่านทางเมนูReSharperตัวเลือกสิ่งแวดล้อม / ทั่วไปClear Cachesปุ่ม→


1
อนิจจามันก็ยังไม่สามารถแก้ไขได้ ... ขอบคุณสำหรับความคิดที่ว่า
Vaccano

23
หลังจากนั้นคุณจะต้องเริ่ม visual studio จากนั้นมันจะทำงาน
เฟลิกซ์ C

3
ไม่ได้ผลสำหรับฉันแม้หลังจากรีสตาร์ทสตูดิโอภาพ ขอบคุณอย่างไรก็ตาม
Matt

เกิดขึ้นกับฉันหลังจากการลดระดับแพคเกจนักเก็ตแล้วอัพเกรดอีกครั้ง ใช้คำแนะนำนี้เพื่อแก้ไข
Guillaume Perrot

ทำงานได้ดีที่สุดถ้าคุณปิด Visual Studio จากนั้นทำ msbuild yourSolution.sln / t: ทำความสะอาดจากนั้นล้างแคช resharper ทั้งหมดบันทึกจากนั้นเปิดโซลูชันของคุณอีกครั้ง
John-Philip

14

สิ่งนี้ใช้ได้สำหรับฉัน ไม่จำเป็นต้องโหลดซ้ำโครงการ คุณสามารถทำได้จากภายใน Visual Studio

  1. ล้างแคช ReSharper ผ่านReSharper , ตัวเลือก , ทั่วไป , คลิก ' ล้างแคช '

    ตัวเลือก Resharper

    Resharper ล้างแคช

  2. ReSharper , Windowsเลือก ' Solution Errors ' นี่จะเป็นการเปิดหน้าต่างข้อผิดพลาดวิธีแก้ไขปัญหา ที่ด้านบนของหน้าต่างนี้คลิกปุ่มเพื่อ ' วิเคราะห์ไฟล์ที่มีข้อผิดพลาด / คำเตือน ' อีกครั้ง

    ResharperWindows

    วิเคราะห์ไฟล์ที่มีข้อผิดพลาดอีกครั้ง


1
ทำงานกับ R # 10.0.2 โดยไม่ต้องรีสตาร์ท VS
Seb T.

1
สิ่งนี้ใช้ได้ผลกับฉันแม้ว่าฉันจะต้องรีสตาร์ท VS
Rory McCrossan

6

เปิดReSharper - ตัวเลือก - สภาพแวดล้อม - ทั่วไปเลื่อนลงไปที่การเข้าถึง Msbuildและเลือกรับข้อมูลจาก msbuild หลังจากการรวบรวมแต่ละครั้ง

สิ่งนี้ใช้ได้กับฉันโดยใช้ ReSharper 10.0.1 กับ ReSharper Build


ฉันทำความสะอาดโซลูชันและสร้างใหม่อีกครั้ง จากนั้นฉันสามารถสลับกลับไปยังการเข้าถึง Msbuild ก่อนหน้าเมื่อทำงาน
znn

5

ไปที่ ReSharper → Windowsหน้าต่างข้อผิดพลาดโซลูชันและคุณจะได้รับภาพรวมของข้อผิดพลาดในโซลูชันของคุณ Reanalyze Files With Errorsมีคุณสามารถคลิกปุ่ม

หากคุณต้องการคุณสามารถกำหนดทางลัดให้กับสิ่งนี้ ไปที่เครื่องมือตัวเลือกแป้นพิมพ์และค้นหา "เปิดใช้งานใหม่" คุณสามารถกำหนดแป้นพิมพ์ลัดให้กับ 'ReSharper_ErrorsView_ReanalyzeAllFiles' หรือ 'ReSharper_ErrorsView_ReanalyzeFilesWithErrors' อย่างใดอย่างหนึ่ง


1
ฉันกำลังเผชิญกับปัญหาที่คล้ายกันและไม่สามารถแก้ไขได้
Tilak

ฉันแค่นี้ก็เหนื่อยเช่นกัน มันไม่ได้แก้ไขปัญหา Resharper ยังคงทำเครื่องหมายข้อผิดพลาด แต่มันก็รวบรวมได้ทั้งหมด การยกเลิกการโหลดและการโหลดโครงการใหม่เป็นวิธีแก้ไขปัญหาเดียวที่ฉันพบ ( แต่ผมกำลังบอกว่ามันได้รับการแก้ไขในรุ่นล่าสุดของ resharper)
Vaccano

มีประโยชน์มาก! ฉันมีปัญหาเดียวกันกับ VS 2019 และ Resharper 2019.3 แต่ที่จริงแล้วมันไม่ใช่ปัญหา ความจริงที่ว่าโครงการสร้างไม่ได้หมายความว่า Resharper จะไม่พบข้อผิดพลาด ในกรณีของฉันมีข้อผิดพลาดบางอย่างในไฟล์ทดสอบ xml บางรายการในโครงการ NUnit ของฉัน วิธีนี้แก้ปัญหาได้อย่างรวดเร็วพบไฟล์
shelbypereira

3

ฉันมีปัญหาที่คล้ายกันกับแพคเกจ nuget และฉันพบวิธีแก้ปัญหาที่แปลกประหลาดที่สุด: เลือกการอ้างอิงในรายการอ้างอิงโครงการและกด 'F4' การปรากฏตัวหน้าต่างคุณสมบัติอย่างใดทำให้ resharper เพื่อประเมินการอ้างอิงที่มีอยู่อีกครั้ง ...


1
ฉันไม่มีโชคกับเคล็ดลับ "สะอาดแคช" จากนั้นฉันลองมันและมันก็ช่วยได้ วิธีแก้ปัญหาของฉันคือ: ค้นหาโครงการที่มีปัญหา - เปิดการอ้างอิง - เลือกการอ้างอิงที่ถูกตั้งค่าสถานะเป็นไม่ทราบโดย R # - กด F4 - เปลี่ยนบางสิ่งในคุณสมบัติเช่น "คัดลอกโลคัลจากจริงเป็นเท็จแล้วกลับเป็นจริง"
Chrigl

ฉันมีวิธีแก้ไขคล้ายกัน ฉันต้องลบการอ้างอิงออกจากโครงการของฉันและเพิ่มใหม่อีกครั้ง ไม่มีวิธีแก้ปัญหาอื่นที่ใช้งานได้สำหรับฉัน
CodeHxr

2

ฉันไม่แน่ใจว่านี่เป็นสาเหตุที่เหมือนกัน แต่ฉันค้นพบว่าภายในตัวเลือก ReSharper ตรวจสอบว่า "ใช้ MsBuild" และฉันได้รับข้อผิดพลาดที่ผิดพลาดทุกประเภท ลองตรวจสอบ "ReSharper-> Options-> General" และดูว่าสถานะการตรวจสอบ "Use MsBuild" เป็นอย่างไร


2

ไปที่ ReSharper → ตัวเลือกทั่วไปClear Cachesและคลิก (ฉันมี 8.2 ดังนั้นหากคุณใช้เวอร์ชั่นอื่นอาจเป็นที่อื่น)

จากนั้นคุณจะต้องเปิดโซลูชันของคุณอีกครั้งและ ReSharper จะวิเคราะห์ทุกอย่างอีกครั้ง


ทำงานให้ฉันขอบคุณ ฉันมีโครงการจำนวนมากในโซลูชันของฉันและไม่ต้องการยกเลิกการโหลด / โหลดซ้ำพวกเขาทีละ: p ไม่แน่ใจว่าทำไมคุณถึงได้ลงคะแนน
Karl Patrik Johansson

1

เรียกใช้รหัสต่อไปนี้ในพร้อมท์คำสั่ง จากนั้นแก้ไขปัญหา ReSharper ...

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

0

สิ่งเดียวที่ช่วยฉันได้คือ: Unistall และมากกว่า Install Resharper อีกครั้ง (ซ่อมไม่ทำงาน)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254


0

นี่เป็นปัญหาที่แปลกและยังมีชีวิตอยู่และดีในรุ่น 8.2.3 (รุ่น 8.2.3000.5176)

สิ่งที่ดูเหมือนว่าจะทำงานให้ฉันบนพื้นฐานที่สอดคล้องกันคือการสร้างโซลูชันใหม่

ใน VS 2013: Build -> สร้างโซลูชันใหม่


0

หากวิธีการด้านบนใช้ไม่ได้คุณสามารถลองรีเซ็ตประเภทผลผลิตของโครงการ ดูเหมือนว่าจะแก้ไขปัญหาในการอัพเดต VS2015 1 ด้วย ReSharper 10.1


0

สำหรับฉันไม่มีการทำงานใด ๆ ข้างต้น ฉันต้องติดตั้ง Resharper เวอร์ชันใหม่ซึ่งรองรับ NET Core 2.0


0

Resharper กำลังรายงานการอ้างอิงที่ขาดหายไปจากโครงการที่รวมอยู่ในการอ้างอิง หลังจากลองใช้วิธีแก้ไขปัญหาอื่นที่นี่ฉันปิดการใช้งาน Resharper ผ่านคำแนะนำคำตอบนี้และฉันพบว่า Intellisense ของ Visual Studio ยังรายงานข้อผิดพลาดเดียวกัน

ณ จุดนี้ฉันรู้ว่าอาจมีบางอย่างผิดปกติกับไฟล์โครงการ ฉันสงสัยว่าการอ้างอิงได้รับความเสียหายอย่างละเอียดระหว่างการผสาน 1

ฉันลบข้อมูลอ้างอิงซึ่งบ่นว่าหาไม่พบและเพิ่มใหม่อีกครั้ง ข้อผิดพลาดจาก Visual Studio หายไป จากนั้นฉันเปิดใช้งาน Resharper อีกครั้งและก็ไม่ได้บ่นเรื่องข้อผิดพลาดในโครงการอีกต่อไป


  1. เมื่อฉันตรวจสอบเพื่อดูสิ่งที่มีการเปลี่ยนแปลงในไฟล์ csproj สิ่งที่ฉันพบคือสิ่งพิเศษ</Compile>ที่ไม่มีแท็กเปิดที่สอดคล้องกัน ดังนั้นมันจึงเป็นข้อผิดพลาดในการผสาน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.