Ответ 1
Это ошибка в ReSharper 4.1 и исправлена в одной из поздних ночных версий.
Загрузите последнюю ночную сборку на http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Builds.
В моем проекте у меня есть класс, который унаследован многими другими классами. Мы будем называть это ClassBase.
public class ClassInheritFromBase : ClassBase
Когда ClassBase наследуется, ReSharper выдает предупреждение о "неоднозначной ссылке" на ClassBase и все, что находится внутри нового класса, унаследованный от ClassBase не имеет IntelliSense и получает предупреждения, которые он не может найти.
Проект компилируется и работает нормально.
Если я изменил пространство имен, которое находится в ClassBase, а затем измените наследующие классы, они найдут его в порядке, и у ReSharper нет проблем, IntelliSense работает... пока он не будет скомпилирован. После компиляции он возвращается к наличию двусмысленных эталонных предупреждений и всего остального.
Было ли это замечено раньше и как оно может быть исправлено? Я видел запись в отслеживании ошибок JetBrains для такой же проблемы, но они закрыли ее как неспособную к воспроизведению.
Это ошибка в ReSharper 4.1 и исправлена в одной из поздних ночных версий.
Загрузите последнюю ночную сборку на http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Builds.
Для тех, у кого до сих пор есть проблемы с этим (время от времени я получаю это), я сделал шаги, которые я сделал, чтобы избавиться от двусмысленного справочного предупреждения в ReSharper.
Я использую Resharper 5.1 в Visual Studio 2008 только с ссылкой на DLL, которые я использую, поэтому мне пришлось "обновить ссылку"
Я использую VS 2012 и ReSharper 7, и иногда я нашел такое же поведение. Это шаги, которые работали для меня:
Я видел эту ошибку в ReSharper 4.1. Это происходит, когда базовый класс находится в каталоге App_Code. Я не знаю, как это исправить; это очень раздражает, но код все еще компилируется.
ReSharper → Параметры → Общие: нажмите кнопку # Очистить кеши #.
Для меня это был вопрос, когда я не использовал папку решений для кешей. Изменение его из местоположения TEMP в решение решило мою проблему.
Я удалил папку _ReSharper.SolutionName, найденную в корне моего решения, и перезапустил.
Я использовал Visual Studio 2010 с ReSharper 5.1... Очистка кэша DID NOT help (ReSharper → меню Options → General → #Clear Cache #).
У вас может быть двусмысленная ссылка. В проекте, где возникает неоднозначная ошибка ссылки, убедитесь, что вы проверяете ссылки на проект. У вас может быть одна и та же ссылка дважды, но в разных пространствах имен. В моем случае было два, но с разными путями (пример):
XXX.YYY.ZZZ.myassembly
ZZZ.myassembly
Удостоверьтесь, что у вас нет таких вещей в ваших ссылках.
Я столкнулся с той же проблемой. Проблема, с которой я столкнулся, была вызвана произвольным поставщиком сборки (из библиотеки с открытым исходным кодом, которую я использую под названием PageMethods), и тот факт, что все мои .aspx-страницы наследуют от класса BasePage, который живет в папке App_Code.
Я не мог получить сборки ReSharper для работы с моим проектом (4.1.933, 4.1.943 (последний) или 4.5). Исправление в последней сборке ReSharper исправляет проблему "Неоднозначный справочник", но ломает поставщика пользовательской сборки.
Единственный способ, с помощью которого я мог бы получить как базовый класс, так и базовые классы для работы с ReSharper, состоял в том, чтобы поместить базовые классы в отдельную библиотеку классов.
Ниже перечислены зарегистрированные ошибки Jira, которые, как представляется, относятся к этой проблеме:
Я столкнулся с той же проблемой со ссылками на классы С# в папке AppCode.
Я решил это, обновив свой ReSharper до версии 4.5 (начиная с версии 4.1).
Это было очень простое обновление, мне просто нужно было получить последнюю версию с сайта JetBrains (http://www.jetbrains.com/resharper/download/) и запустить его.
Мне не нужно было удалять предыдущую версию (v4.1). Мне не нужно было повторно вводить мой существующий лицензионный ключ.
Все ссылки теперь распознаются правильно, и я могу перейти к классам, как ожидалось.
У меня была такая же проблема с ReSharper 5.1 и была решена с помощью перезапуска Visual Studio 2010.
Использование VS 2013 Premium и Resharper 8.1, и эта проблема возникала в проекте ASP.Net.
Решение, которое сработало для меня:
Copy Local = false
.Copy Local = true
(если необходимо)