Як змусити ReSharper переоцінити його підсвічування посилання на збірку


184

Я створюю шаблон проекту призми, і шаблон чудово працює. Але після створення проекту з шаблоном деякі файли виглядають так:

Погані посилання

Незважаючи на виступи, все просто добре.

Якщо я відновлюю все, я бачу, що рішення створюється без помилок:

Перебудований

Але перебудова все не позбавляється від "помилок", які відображаються у вікні редактора. (Зверніть увагу, що вікно фактичної помилки не відображає помилок.)

Я можу прибрати, відновити, закрити та відкрити файли, і підсвічування не виправить.

Однак якщо я закрию рішення і повторно його відкрию, все добре :

Працює після перезавантаження

Моє запитання:

В ідеалі може бути спосіб для мого шаблону чи мого IWizard сказати ReSharper перезавантажити посилання на виділення.

Я знаю, що можу вимкнути ReSharper і знову ввімкнути це, і це виправить, але я б краще цього не зробив.

Чи є команда ReSharper, яка просто оновлює цей матеріал?


Ви використовуєте ReSharper?
— Джон Сондерс

@JohnSaunders - так, 5.1
— Ваккано

Я бачив, як це робив ReSharper, тому це може бути помилка ReSharper, а не помилка VS. Я нещодавно побачив це з версією 6.1.
— Джон Сондерс

@JohnSaunders - Я підтвердив, що це проблема ReSharper. Я відредагував своє запитання, щоб перенаправити його на ReSharper. Дякуємо, що вказали на мене в правильному напрямку!
— Ваккано

Які версії Prism, WPF / SL / WinPhone ви використовуєте у своєму проекті?
— Юра Гороховський

Відповіді:


216

За винятком перевстановлення, єдиний спосіб успішного очищення кеш-файлів - це видалення файлів вручну з каталогу AppData.

Видаліть папку рішення, яка доставляє вам горе в таких місцях:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ для новіших версій.

Зауважте, що номери версій у шляхах можуть бути різними залежно від встановленої версії ReSharper.

XXВ vXXіVsXX являє собою будь-яке число, тому що там може бути кілька папок , де зберігаються кеш рішення.


8
Цей шлях може відрізнятися залежно від конфігурації кешів. (Див. Resharper> Options> General)
— Безіменний

1
Досить справедливо - але це однозначно вирішує проблему, з якою ви стикаєтесь (і не лише ви ...)
— Пітер Маннінгс

2
Відповідь правильна. Закрийте всі екземпляри візуальної студії, видаліть% LOCALAPPDATA% \ JetBrains \ ReSharper \ [встановлений_версія] \ SolutionCaches.
— Хоуман

3
@Joel в ReSharper 9, з введенням платформи ReSharper було переміщено до %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(як згадує @brgerner , ви можете спочатку натиснути кнопку Очистити кеші перед тим, як піти по цьому маршруту)
— bdukes

7
Ви можете використовувати Resharper -> General -> Очистити кеші, щоб очистити кеші, незалежно від місця розташування кешу. Вам потрібно буде перезапустити Visual Studio після очищення кешу
— Christopher Haws

98

Спробуйте розвантажити та перезавантажити проект.

Щоб вивантажити проект, клацніть правою кнопкою миші проект у провіднику рішень та виберіть Unload Project. Потім ще раз клацніть правою кнопкою миші проект і виберітьReload Project .

Проблема продовжує періодично виникати з останніми версіями ReSharper, але виправлення, здається, працює для кожної версії.


Схоже, що перезавантаження призводить до повторного сканування повторної перевірки. Мені це здається легшим, ніж полювання на кеші у файловому провіднику.
— testpattern

69

Ви можете спробувати очистити кеш-пам'ять ReSharper через меню ReSharper → Опції → Навколишнє середовище / Загальне → Clear Caches.


1
На жаль, все одно це не виправили ... Хоча спасибі за ідею.
— Ваккано

23
Після цього потрібно перезапустити візуальну студію. Тоді це спрацює.
— Фелікс C

3
Не працювали для мене навіть після перезапуску візуальної студії. Дякую, однак.
— Метт

Сталося зі мною після пониження нульового пакету, після чого оновлення знову. Використовували цей підказку для виправлення.
— Гійом Перро

Найкраще працює, якщо ви закриєте візуальну студію, тоді зробіть msbuild yourSolution.sln / t: очистіть, а потім очистіть усі кеші перерозподілу, збережіть і знову відкрийте рішення.
— Джон-Філіп

14

Це працювало для мене. Немає необхідності перезавантажувати проекти. Це можна зробити з Visual Studio.

  1. Очистіть кеш ReSharper через ReSharper , Параметри , Загальне , натисніть « Очистити кеші ».

    Параметри перегляду

    Очистити кеші

  2. ReSharper , Windows , виберіть " Помилки рішення ". Це запустить вікно Помилки рішення. У верхній частині цього вікна натисніть кнопку " Переаналізувати файли з помилками / попередженнями ".

    ResharperWindows

    Переаналізуйте файли з помилками


1
Працював з R # 10.0.2, не потребуючи перезавантаження VS.
— Себ Т.

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
Я стикаюся з подібним питанням, і воно не виправляється.
— Тилак

Мені це теж набридло. Це не вирішило питання. Resharper все ще відзначав помилки, але все складено добре. Вивантаження та повторне завантаження проекту - це єдине вирішення, яке я можу знайти. (Хоча, як мені кажуть, це зафіксовано в останній версії
— resharper

Дуже корисний! У мене був такий самий випуск з VS 2019 та Resharper 2019.3, але насправді це НЕ було проблемою. Те, що проект будується, не означає, що Resharper не знайде помилок. У моєму випадку в моєму проекті NUnit були деякі помилки в деяких тестових файлах xml. Це рішення швидко знайшло файли
— shelbypereira

3

У мене є аналогічна проблема з пакунками нугів, і я знайшов найбільш дивний спосіб вирішення: виберіть посилання у списку довідок проекту та натисніть "F4". Якимсь чином зовнішній вигляд властивостей викликає переоцінку переоцінки наявних посилань ...


1
Мені не пощастило з усіма порадами "чистого кеша". Тоді я спробував це, і це майже допомогло. Моє вирішення полягало в наступному
— Крігль

У мене було подібне виправлення. Мені довелося фактично видалити посилання зі свого проекту та повторно додати його. Жодне з інших рішень для мене не працювало.
— CodeHxr

2

Я не впевнений, що це та сама першопричина, але я виявив, що в параметрах ReSharper було перевірено "Використовувати MsBuild", і мені надійшло всілякі помилки. Спробуйте перевірити "ReSharper-> Options-> General" і подивіться, у якому стані знаходиться чек "Use MsBuild".


2

Перейдіть до ReSharper → Опції → Загальне та натисніть Clear Caches. (У мене є 8.2, тому якщо ви перебуваєте в іншій версії, можливо, це буде деінде.)

Потім вам потрібно буде знову відкрити своє рішення, і ReSharper повторно проаналізує все.


Працювали для мене, дякую. У мене було багато проектів у моєму рішенні, і я не хотів їх розвантажувати / перезавантажувати все по одному: p Не знаю, чому у вас є скорочення.
— Карл Патрік Йоханссон


0

Єдине, що мені допомогло, це: видалити та знову встановити Resharper (ремонт не працював)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254


0

Це дивне питання, і воно все ще живе і здоровим у версії 8.2.3 (збірка 8.2.3000.5176).

Те, що, здається, працює для мене на постійній основі - це відновити рішення.

У VS 2013: Build -> Rebuild Solution


0

Якщо вищезгадані рішення не працюють, ви можете спробувати скинути тип виходу проекту. Це, здається, вирішило проблему в VS2015 Update 1 за допомогою ReSharper 10.1


0

Для мене нічого з перерахованого вище не працювало. Мені довелося встановити нову версію Resharper, яка підтримує NET Core 2.0.


0

Resharper повідомляв про відсутність посилання на проект, який був включений до посилань. Спробувавши тут інші рішення, я відключив Resharper через вказівки цієї відповіді , і я виявив, що інтелігенція Visual Studio все ще повідомила про ті самі помилки.

У цей момент я зрозумів, що, мабуть, щось не так з файлом проекту. Я підозрював, що посилання під час злиття тонко пошкодилося. 1

Я видалив посилання, на яке він скаржився, його не вдалося знайти, і повторно додав його. Помилки Visual Studio відійшли. Потім я знову включив Resharper, і він більше не скаржився на помилки в моєму проекті.


  1. Коли я перевірив, що змінилося у файлі csproj, я виявив, що додатково </Compile>не було відповідного відкритого тегу. Тож це справді була помилка злиття.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.