ReSharper «Не удается разрешить символ» даже при сборке проекта


484

Мои инструменты:

Visual Studio 2012 Ultimate + обновление 1

ReSharper v7.1.25.234

My Solution Статус сборки : Построить успешно

Но когда я устанавливаю ReSharper, и анализ кода ReSharper включается, многие ключевые слова моего кода выделяются красным цветом с этой ошибкой:

«Не удается разрешить символ XXX»

Введите описание изображения здесь


Еще одна картина моего проекта >>

Ошибки ReSharper «CANNOT RESOLVE SYMBOL» встречаются везде, но процесс сборки моего проекта прошел успешно и работает правильно.

Введите описание изображения здесь

Дополнительное примечание: если я отключу анализ кода ReSharper, мой проект будет нормальным, но я хочу использовать анализ кода ReSharper.


Я пробовал ReSharper → ПараметрыОбщиеОчистить кэш . Но у меня все еще есть эта проблема!


  • Месяц назад я получил эти ошибки, когда я удалил Visual Studio 2012 RC и установил VS 2012 RTM.

  • Я уже удалил и снова установил ReSharper. Но у меня есть эта проблема еще!

  • Мое решение имеет пять проектов >> два загруженных проекта (основной проект + ресурсный проект) и три незагруженных проекта


Я понимаю, что моя Visual Studio также имеет большие проблемы (дополнительная информация о переполнении стека)

  • Я не могу добавить ссылку на мои проекты (даже внутри новых решений и новых проектов)

  • Я не могу установить какой-либо пакет (с помощью "Packet Manager Console" или Manage NuGet Package)

  • Я не могу обновить какой-либо пакет (с помощью «консоли диспетчера пакетов» или управления пакетом NuGet)

Я сделал много предложений (о себе и других)

  • Восстановите некоторые файлы DLL

  • Использование некоторых окон и инструментов восстановления реестра

  • Удалить ReSharper

  • Ремонт Visual Studio

  • а также...

Но я не мог решить это.

Я подумываю об установке новой винды :(


Что не так, и как я могу это исправить?


4
У меня была одна и та же проблема однажды. Пришлось удалить его и установить снова.
MeTitus

@Marco, я уже удалил и установил его снова. Но не решил.
RAM

Это из-за красного Automapper, вы должны проверить это
IamStalker

2
Любое из приведенных ниже решений будет работать временно. Проблема всегда возвращается и является особенно серьезной, если вы также используете TFS для контроля версий. Молчание от JetBrains и отсутствие обновлений в прошлом году заставляет меня думать, что они лениво едут на денежном поезде R #.
гадость

2
В моем случае ни один из ответов здесь не сработал. Я также прошел через поддержку Jetbrain, но они пока не смогли помочь. Мне просто пришлось отключить Resharper на данный момент. Проблема отслеживается здесь .
Co7e

Ответы:


725

Попробуйте Visual Studio → меню ИнструментыПараметрыReSharper , Suspendкнопку и еще Resumeраз (не нужно закрывать окно). Это работает в моем случае.


3
На VS2012 Update 3 с Resharper 7.1.3, и это не решило мою проблему. Удаление Resharper и повторная установка исправили это для меня.
LordHits

93
Это не сработало для меня, но очистка ReSharper Caches решила проблему.
Консоль

16
Мне пришлось очистить кеш и приостановить обновление 4 ReSharper VS2012 и R # 7.1
moi_meme

17
У меня это тоже не сработало, но выгрузка / перезагрузка проекта сработала: щелкните правой кнопкой мыши проект-> Выгрузить проект, затем снова щелкните правой кнопкой мыши-> Перезагрузить проект.
biscuit314

6
То же решение с чистым кешем (необходимо в некоторых случаях): stackoverflow.com/a/19772172/2387977
Дерик

232
VS -> Tools -> Options -> ReSharper Suspend button 
Clear Contents of -> AppData\Local\JetBrains\ReSharper\v7.1\SolutionCaches
VS -> Tools -> Options -> ReSharper Resume  button

73
Вы можете сделать Resharper> Параметры> Среда> Общие. Нажмите «Очистить кеш», а затем перезапустите VS. Ты за ответ помог мне.
Йохан Ларссон

3
Это работает для меня :) Другой способ сделать это с помощью Clear Cache из самой Visual Studio Ty
ThomasBecker

2
Очистка кеша у меня не сработала. Удаление содержимого папки SolutionCaches сделано.
JayJay

7
Это работает для меня, чтобы разрешить раздражающее предупреждение «Не удается разрешить метод». Чтобы добавить, для resharper 9 в VS2013 путь\AppData\Local\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches
spinalfrontier

11
Чтобы добавить еще раз, на этот раз для Resharper 10 в Visual Studio 2015, путь будет% localappdata% \ JetBrains \ Transient \ ReSharperPlatformVs14. У меня там были подпапки v02, v03 и v04 - я удалил все из них и их содержимое.
StackOverflowUser

124

Это сработало для меня (VS2012u4, R # 7.1.3):

  1. Resharper> Параметры> Среда: Общие> Очистить кеши
  2. Перезапустите Visual Studio

32

Очистить кэш Resharper: Resharper -> Параметры -> Общие -> Очистить кэш, закройте и снова откройте решение. Работает в R # 9.0 Update 1


Пункт меню был General, а не «Generate», чтобы добраться до Clear Caches
Кирстен Грид

Не работает в проекте .NET Core для R # 9.2? Попытка закрытия и повторного открытия проекта, и VS ... РЕДАКТИРОВАТЬ: Это работает сейчас! По какой-то причине пришлось дважды перезагружаться, прежде чем все заработало!
user3791372

Спасибо! это единственное решение, которое работало для меня с использованием VS 2017 Professional.
Пит

31

Это происходит в ReSharper, когда в вашем решении есть две разные версии одной и той же библиотеки. Например, проект A ссылается на версию 1.1 автомата и проект B ссылается на версию 1.0 автомата.

Visual Studio часто будет компилироваться и запускаться, как ожидается, в ситуации, когда она выбирает одну из библиотек DLL для привязки. Однако ReSharper сильно запутался. Для меня это должно быть ошибкой ReSharper, которая требует от вас исправления, а не просто сумасшествия.

ОБНОВИТЬ:

Я столкнулся с этим два дня назад (через день после того, как сделал этот пост) по общему совпадению и наткнулся на эту ссылку, где они говорят, что это вызвано ошибкой в ​​VS API. Я перепробовал все, что они порекомендовали, и не смог разрешить его даже временно: у меня был Autofac 2.6.x, который я скачал с google.code, а затем обменял его на версию пакета NuGet, и он умышленно отказался видеть новую ссылку no Неважно, что я сделал.

Они предлагают установить EAP R # 8, но для меня было меньше хлопот просто перейти на старую версию Autofac.

Не так много, чтобы помочь, но, возможно, полезно.


я отредактировал свой вопрос с дополнительной информацией о степени ошибок. 1 месяц назад я изменил свой RC 2012 года на RTM 2012 года, и эта ошибка произошла (без каких-либо изменений в моем проекте). Теперь, какова ваша рекомендация?
RAM

1
Вы пытались удалить все ссылки, а затем снова добавить их (вы могли бы указывать на старые библиотеки DLL, и это сбивает с толку R #).
Сатнхак

Я понимаю, что у моей Visual Studio также есть большие проблемы: я не могу добавить ссылку на свои проекты (даже внутри новых решений и новых проектов), больше информации: stackoverflow.com/questions/15746529/…
RAM

Это заставило меня двигаться в правильном направлении после того, как принятый ответ не сработал. Для меня в рассматриваемой библиотеке было доступно обновление. Я планировал удалить его, а затем снова добавить, но я увидел обновление и попробовал сначала. После обновления библиотеки проблема решилась сама собой.
c0r3yz

Этот ответ помог мне в похожей ситуации. Я ссылался на финальную версию AspNetCore.Mvc 1.0.0 rc в моем файле project.json, который вызвал проблему, которую видел OP. Я вернулся в файл project.json и изменил версию на 1.0.0, которая исправила проблему
WBuck

27

Это происходило со мной в Visual Studio 2015 и ReSharper Ultimate 10.0.2. Я попробовал почти все решения, написанные до этого ответа (кроме переустановок), и ничего не получалось.

Я снова начал работать с множеством вышеперечисленных шагов в очень конкретном порядке:

  1. ReSharper → Параметры → Среда → Общие → Очистить кеши
    • это необходимо сделать перед приостановкой ReSharper, так как в противном случае эта опция недоступна
    • это очищает файлы, C:\Users\YourUsername\AppData\Local\JetBrains\Transient\ReSharperPlatformVs14\v04как указано в некоторых других сообщениях
  2. Инструменты → Параметры → ReSharper Ultimate → Приостановить
  3. Закрыть Visual Studio
    • это на самом деле выполняет очистку кеша ReSharper
  4. Откройте Visual Studio
  5. Откройте решение
    • Я ждал, пока Visual Studio обнаружит, что в IntelliSense не было проблем с кодом, и, возможно, на данный момент выполнил сборку.
  6. Инструменты → Опции → ReSharper Ultimate → Резюме

Надеюсь, после последнего шага вы можете вздохнуть с облегчением, что вам не нужно ничего переустанавливать, я, конечно, сделал!


1
Это также произошло с Visual Studio 15 Preview и Resharper. Эти шаги решили проблему для меня (надеюсь, она не вернется в ближайшее время). Спасибо!
jporcenaluk

VS 2017 здесь. Это была очистка кеша; выключите VS и перезапустите; приостановить Resharper и закрыть VS; перезапустите VS в решении и затем запустите Resharper, который сделал это для меня.
RandomHandle

17

Обычно это происходит из-за повреждения файла конфигурации или обнаружения ошибки. Просто удалите папку .vs , перезапустите VS, чтобы сбросить настройки. Это будет работать почти случай

введите описание изображения здесь


Это сработало для меня
Siege21x

не работал для меня
Blechdose

13

У меня были похожие проблемы и я очистил кэши, найденные на:

AppData \ Local \ JetBrains \ ReSharper \ v7.1 \ SolutionCaches

Решил проблемы для меня

Запуск VS2012 u3


Я сделал нечто подобное, я просто удалил весь каталог AppData \ Local \ Jetbrains. У меня было много разных версий, в том числе и более новых, чем моя текущая инсталляция.
Бенстпьер

Ничего не сделал, чтобы решить проблему для меня.
Майк

12

У меня была такая же проблема (VS 2017). В моем случае это были разные версии целевой платформы - одна сборка была нацелена на 4.52, другая на 4.62 - после установки одинаковых версий в обеих сборках она снова заработала.


4
Невероятно, это было причиной проблемы и для меня тоже. Я не могу в это поверить ... это определенно должно получить больше голосов.
Томас Флинков

Согласитесь, мне тоже помогли
eljoe

цели не оказали влияния на решение этой проблемы для меня.
Майк

1
Согласитесь с вышесказанным, особенно если в окне списка ошибок появится предупреждение о том, что это проблема. Люди должны проверить это, прежде чем возиться с Решарпером.
Эдди

Спасибо, Николай. Та же проблема здесь.
Фироз Джафри

10

Над ссылками очистки кеша и / или приостановки ReSharper у меня не работало. Я просто «обновил» проект, который показывал эту проблему, из обозревателя решений, и проблема исчезла. К сожалению, он продолжает повторяться, и только он может обновляться каждый раз, когда эта проблема повторяется.

У меня VS2012 с ReSharper 8.1 на Windows 8


Как вы «обновляете» проект?
persianLife

Щелкните правой кнопкой мыши проект в обозревателе решений -> Обновить
user1127860

Это решило проблему и для меня с VS2017 и R # 20127.3 EAP 9
Ян Ивар З. Карлсен

Обновление ничего не сделал для этого вопроса для меня.
Майк

8

У меня просто была та же проблема с ReSharper 8.2 в Visual Studio 2013, и ни одно из обычных решений очистки кешей, приостановки ReSharper или переустановки ReSharper не работало.

В моем случае я решил это следующим образом ... Я посмотрел на один из символов, который он не смог решить, и заметил, что он есть System.Web.Http.dll. Затем я обнаружил, что это было в Microsoft.AspNet.WebApi.Coreпакете NuGet. Я использовал консоль диспетчера пакетов, чтобы попытаться удалить этот пакет, за исключением того, что, конечно, он сказал, что это невозможно из-за других зависимостей.

Поэтому я удалил каждую зависимость вплоть до включительно Microsoft.AspNet.WebApi.Core, а затем заново установил каждый пакет в обратном порядке. ReSharper правильно все подобрал, как было установлено, и теперь, кажется, хорошо.


У меня тоже сработало. Просто удалите пакеты nuget для проекта и переустановите их.
Цетиман

Ничто из этого не помогло мне, особенно играя с веб-API. ничего не сделал
Майк

Последнее, что я собираюсь сделать, - это удалить зависимости проекта, чтобы заставить плохо написанное приложение работать. Я решил удалить резарпер. проблема решена и VS теперь намного быстрее
Майк

8

Как видите, решение - это то, что все уже упоминали выше. Просто Приостановка в Resharper затем Очистка кэшей и , наконец , возобновление его. Но никто не упомянул, как это сделать без закрытия / перезапуска VisualStudio.

Просто следуйте этим шагам:

  1. Получение Resharper Cache Location

    • Вручную , перейдя в «Параметры Resharper»> «Среда»> «Общие»> «Store Solution» (поле со списком) (отмечено 2 на изображении). Выберите «Пользовательская папка», затем скопируйте местоположение папки «Catches» из отображаемого текстового поля (отмечено 3 на изображении). Возврат настроек обратно. 1 помеченный показывает кнопку ClearCache . Обычно это не работает, так что оставьте это. Изображение показывает вещи
  2. Приостановка Решарпер
    • Вы можете сделать это, перейдя в Инструменты> Параметры> Resharper или Resharper Ultimate> Приостановить сейчас (кнопка) Resharper Suspend Option
  3. Очистка кеша

    • Перейдите в папку, скопированную ранее в шаге 1, и удалите все элементы в этой папке. И да, я имею в виду все.
  4. Возобновление Resharper

    • Вы можете сделать это, снова зайдя в Инструменты> Параметры> Resharper или Resharper Ultimate> Resume (кнопка)

Спасибо! Это буквально единственное, что сработало для меня. Решарпер начинает быть больше проблемой, чем решением в наши дни ... такой медленный и глючный ....
Tor

Все это не помогло решить проблему. Удаление Reshaper устранило проблему
Майк

6

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


Обновление VS, обновление Resharper, очистка кэша автоматически и вручную и приостановка Resharper мне не помогли. Это не проблема резче, это, вероятно, ошибка VS. Это сработало для меня. Спасибо.
Милад

Это ничего не сделал, что так всегда. Очень похоже на «обновить», который тоже ничего не сделал.
Майк

6

Для VS2015 мне пришлось обновить Resharper до версии 2016.2.2, чтобы решить эту проблему.

Я уже пытался (из которых никто не работал для меня):

  • приостановка / возобновление
  • приостановка / очистка кэша (с помощью инструментов> кнопка настроек) / возобновление
  • приостановка / очистка кэша (с использованием файловой системы Windows) / возобновление
  • перемещение кеша в папку решения / перезапуск Visual Studio
  • много других комбинаций всего или некоторых из вышеперечисленных

Я надеюсь, что это может помочь кому-то.


это просто копия всех вариантов. все не сделали ничего, чтобы решить проблему.
Майк

@Mike - Пожалуйста, не стесняйтесь ссылаться на "другой" пост, который советует обновить R # до 2016.2.2, так как я не вижу его.
Диб

5

Мне пришлось запросить Resharper, чтобы он очистил свой кеш, а также сделал это вручную через Windows File Explorer. Это наконец решило проблему для меня.

  1. (Как сообщается во многих решениях здесь) RESHARPER> Параметры ...> Среда> Общие> Очистить кэши.
  2. Закройте Visual Studio.
  3. Перейдите по этому пути в проводнике файлов для Resharper 10 в Visual Studio 2015:% localappdata% \ JetBrains \ Transient \ ReSharperPlatformVs14
  4. Удалите все подпапки и их содержимое в этой папке.
  5. Перезапустите Visual Studio, перезагрузите решение и подождите, пока Resharper инициализирует себя для решения.

5

Resharper -> Параметры кэшей -> Хранить кэши решений в: (Измените папку на другую).

Или попробуйте вручную почистить кеш-папку R #


3

Я использую 7.1, и это сработало для меня:

  1. Удалить resharper
  2. перейдите в% appdata% и удалите папки JetBrains \ Resharper и .. \ Local \ JetBrains \ Resharper
  3. переустановите resharper

3

Я сделал все выше без исправления.

Затем я сделал шаг из другого SO Q / A (не помню, какой именно), который должен был установить System.Web.Mvc на Copy Local true. Перекомпилируйте мой проект, и ошибки исчезли.

Когда я вернул этой сборке значение Локальное копирование, ошибки не возвращались.


3

В моем случае я перепробовал все предложения выше. Но в какой-то момент я понял, что проблема сохраняется, даже если Решарпер приостановлен. Итак, я искал похожую проблему в самой VS и нашел решение в комментариях для принятого ответа в этом посте SO .

Я перечисляю мои шаги для краткости.

  1. VS -> Инструменты -> Параметры -> Кнопка ReSharper Suspend
  2. Построить решение. Обратите внимание, что все ссылки еще не решены
  3. Чистый раствор
  4. Перезагрузите VS
  5. Постройте решение без Resharper. Обратите внимание, что все ссылки разрешены
  6. VS -> Инструменты -> Параметры -> ReSharper Resume кнопка

1

Я использую VS2015, R # 10. Ни одно из предложенных решений не помогло мне. Я удалил содержимое папки bin своего решения и перестроил все решение, которое, похоже, решило проблему. Перед удалением содержимого папки bin я попытался приостановить и возобновить R #, выполнить очистку кэша из R # -> option -> general setting, а также вручную удалить содержимое из \ AppData \ Local \ JetBrains \ Transient \ ReSharperPlatformVs12 \ v01 \ SolutionCaches .. Надеюсь, это кому-нибудь поможет.


1

У меня была та же проблема в моей Visual Studio 2015 с Resharper Ultimate, и я попробовал решения, как предложено выше, но ни один из них не помог мне.

Затем обновление Resharper до последней версии решило мою проблему.


Да, я тоже пришел к такому же выводу. К сожалению, моя подписка на R # закончилась, а это значит, что мне нужно внести еще 400-500 долларов, чтобы обновить версию R #, чтобы исправить ошибку ...
WBuck

1

Что помогло в моем случае после нескольких из приведенных выше предложений не:

  • Удалена одна ссылка на проект (одна из библиотек, в которой ReSharper утверждал, что не может найти ее, даже если на нее правильно ссылались).
  • Используйте ReSharper «Resolve» на одном из его употреблений, чтобы снова добавить ссылку.

После этого все работало нормально, хотя ни один из файлов проекта на самом деле не был изменен.


1

У меня та же проблема. Чистый кеш Resharper и Suspend Resharper у меня не работали. Я просто закрыл Visual Studio, удалил Resharper, а затем установил Resharper, проблема исчезла.


1

Когда я отключил ReSharper, Visual Studio также выдавала ту же ошибку, хотя проект был успешно собран. Что я сделал, чтобы решить эту проблему:

  1. Удалить проект из решения.
  2. Щелкните правой кнопкой мыши решение, добавьте существующий проект, выберите файл проекта и добавьте его снова.

После выполнения этих шагов синтаксические ошибки исчезли в Visual Studio, и после того, как я снова включил ReSharper, в нем также не было ошибок.


Все мои ошибки были ссылками, связанными с одним пакетом nuget. Я удалил и повторно добавил пакет. Ошибки исчезли. Спасибо за указатель.
Бретт

1

У меня тоже была эта проблема. Все предыдущие решения не помогли мне или помогли в течение очень короткого времени. В моем случае проблема заключалась в том, что я подключил проект .Net Framework 4.7.2 к проекту с версией 4.5.2. После того, как я обновил оба проекта до версии 4.7.2, проблема была решена. Я думаю, что для решения проблемы нужно иметь одинаковую версию проектов. Или подключите меньшую версию к большей, но не наоборот, как было в моем случае.


Разве это не то же решение, которое @ Mikołaj Mularczyk уже предложил в своем ответе?
Робин Б

0

Что касается меня, я думаю, что мое решение попало в странное состояние, когда я менял, в какой ветке моего локального репозитория Git я был. Просто переключившись на предыдущую ветку, в которой я находился до возникновения проблемы, приказав VS перезагрузить все файлы, затем переключившись обратно на нужную ветку и снова загрузив, исправил ее.


0

Мы также видели эту проблему, специфичную для файлов, которые использовались несколькими проектами. В левом верхнем углу окна редактора есть поле со списком, которое позволяет вам переключать контекст проекта для файла (и, следовательно, ссылки, которые влияют на разрешение символов).

Resharper позволяет легко открыть неправильную «версию» общего файла с помощью команд «перейти к файлу или символу».

Переключение контекста обратно на проект, который я использую в решении, было все, что мне нужно было сделать, чтобы решить эту проблему.


0

Я также видел подобные проблемы, о которых сообщалось в ReSharper, которые не приводили к ошибкам компиляции / выполнения.

Они в основном были замечены при использовании "{x:Type ...}"или "{x:Static ...}"разметке, заставляя ReSharper сообщать "Cannot resolve symbol 'Type'"или"Cannot resolve symbol 'Static'" ошибках.

Кроме того, было много ошибок, таких как "Invalid markup extension type: expected type is '<type>', actual type is '...Extension'" .

Проблема решилась сама собой, когда я добавил ссылку на System.Xamlсборку.


0

У меня не работали решения для удаления программных кешей, похоже, что проблемы возникали между разными версиями RS, установленными за эти годы.

Что сработало для меня:

  • Uninstal Resharper
  • удалите все папки JetBrains в AppData \ Local и AppData \ Roaming
  • Установите Resharper снова

Все настройки должны быть переделаны и т. Д., Но я не смог найти лучшего решения даже с помощью команды JetBrains.


0

Это должно быть проблемой, связанной с кэшем Resharper, но, насколько мне известно, функция «очистки кэша» работает только в том случае, если ваш кэш находится в папке решений. Чтобы проверить, попробуйте это: Visual Studio> Инструменты> Параметры> Resharper> Параметры ...

В окне «Параметры Resharper»> «Среда»> «Общие» убедитесь, что для параметра «Сохранить кэш решения» установлено значение «Папка решения».

После этого в папке решения вы должны увидеть новую папку "_ReSharper.Caches". Вы должны быть в состоянии очистить его, нажав кнопку «Очистить кеши», но (если это не работает) вы можете очистить вручную, удалив внутренние файлы (в этом случае Visual Studio уже должен быть закрыт).

Перезапустите Visual Studio, и все должно работать. Посмотрите здесь [1], а также

[1] https://resharper-support.jetbrains.com/hc/en-us/articles/206546989-ReSharper-stopped-working-for-a-single-specific-solution

Примечание: Visual Studio 2015, обновление 1 / ReSharper 10.0.2

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.