Как заставить ReSharper переоценить выделение ссылок на сборки - PullRequest
182 голосов
/ 21 марта 2012

Я создаю шаблон проекта Prism, и шаблон отлично работает. Но после того, как я создаю проект с шаблоном, некоторые файлы выглядят так:

Bad References

Несмотря на внешность, все просто отлично.

Если я сделаю Перестроить все , я вижу, что решение собирается без ошибок:

Rebuilt

Но перестройка всего не избавляет от "ошибок", которые отображаются в окне редактора. (Обратите внимание, что фактическое окно ошибок не показывает никаких ошибок.)

Я могу чистить, перестраивать, закрывать и открывать файлы, и это не исправит выделение.

Однако, , если я закрою решение и снова открою его, все будет хорошо :

Works After Reload

Мой вопрос:

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

Я знаю, что могу выключить ReSharper , а затем снова включить , и это все исправит, но я бы не стал этого делать.

Есть ли команда ReSharper, которая просто обновляет этот материал?

Ответы [ 15 ]

209 голосов
/ 23 июля 2013

За исключением переустановки, единственный способ успешно очистить кеш - удалить файлы вручную из каталога AppData.

Удалите папку с решением, которая дает вам горе, в следующих местах:

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

Обратите внимание, что номера версий в путях могут отличаться в зависимости от установленной версии ReSharper.

XX в vXX и VsXX представляет любое число, поскольку может быть несколько папок, в которых хранится кэш решения.

96 голосов
/ 04 декабря 2012

Попробуйте выгрузить, а затем перезагрузить проект.

Чтобы выгрузить проект, щелкните правой кнопкой мыши проект в обозревателе решений и выберите Unload Project. Затем снова щелкните правой кнопкой мыши по проекту и выберите Reload Project.

Эта проблема продолжает возникать время от времени с последними версиями ReSharper, но исправление, похоже, работает для каждой версии.

66 голосов
/ 21 марта 2012

Вы можете попробовать очистить кэш ReSharper через меню ReSharper Параметры Среда / Общие → кнопка Очистить кеши .

13 голосов
/ 22 октября 2014

Это сработало для меня.Нет необходимости перезагружать проекты.Это можно сделать из Visual Studio.

  1. Очистить кэш ReSharper с помощью ReSharper , Опции , Общие ,нажмите « Очистить кеши ».

    Resharper Options

    Resharper Clear Caches

  2. ReSharper , Windows , выберите ' Solution Errors '.Откроется окно «Ошибки решения».В верхней части этого окна нажмите кнопку, чтобы « провести повторный анализ файлов с ошибками / предупреждениями ».

    ResharperWindows

    Reanalyze Files With Errors

4 голосов
/ 27 января 2016

Открыть ReSharper - Параметры - Среда - Общие , прокрутите вниз до Доступ к Msbuild и выберите Получение данных из msbuild после каждой компиляции .

Это сработало для меня, используя ReSharper 10.0.1 с ReSharper Build.

4 голосов
/ 07 июня 2012

Перейдите в ReSharper → Windows Окно ошибок решения , и вы получите обзор ошибок в вашем решении. Там вы можете нажать кнопку Переанализировать файлы с ошибками .

Если вы хотите, вы можете назначить ярлык для этого. Перейдите к Инструменты Параметры Клавиатура и найдите «Reanalyze». Вы можете назначить сочетание клавиш либо ReSharper_ErrorsView_ReanalyzeAllFiles, либо ReSharper_ErrorsView_ReanalyzeFilesWithErrors.

3 голосов
/ 23 марта 2017

У меня похожая проблема с пакетами nuget, и я нашел самый странный обходной путь: выберите ссылку в списке ссылок проекта и нажмите «F4». Каким-то образом появление окна свойств приводит к тому, что resharper переоценивает доступные ссылки ...

2 голосов
/ 07 августа 2014

Я не уверен, что это одна и та же основная причина, но я обнаружил, что в опциях ReSharper было проверено «Use MsBuild», и я получил все виды ошибочных сообщений.Попробуйте проверить «ReSharper-> Options-> General» и посмотреть, в каком состоянии находится проверка «Use MsBuild».

2 голосов
/ 03 июня 2014

Перейдите в ReSharper → Параметры Общие и нажмите Очистить кеши . (У меня 8.2, так что если у вас другая версия, она может быть в другом месте.)

Затем вам нужно будет заново открыть свое решение, и ReSharper проведет повторный анализ всего.

1 голос
/ 20 сентября 2016

Запустите следующий код в командной строке.Тогда решите проблему ReSharper ...

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