Як змусити 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.