Произвольные ссылки на сборку не работают («Вам не хватает директивы using или ссылки на сборку?»)

В моем приложении используются сборки, предназначенные для версий 3.5 и 4.0. Я работаю над новой службой Windows, ориентированной на 4.0, и внезапно кажется, что проект не может видеть некоторые другие сборки в решении. Это означает, что при сборке все ссылки на эти некоторые другие сборки вызывают следующую ошибку:

Тип или имя пространства имен «[X]» не существует в пространстве имен «[Y]» (отсутствует ссылка на сборку?)

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

Одна из ошибочных ссылок - на наш Core.dll, предназначенный для 3.5. Недавно мы добавили CoreEx.dll, ориентированный на 4.0, с разделением пространства имен между сборками. Новая служба может видеть CoreEx.dll, но не Core.dll ... т.е. когда я начинаю набирать с помощью Core.Utilities ... Intellisense выбирает меньший набор пространств имен из CoreEx.dll, но не показывает те, которые появляются только в Core.dll. Я почти уверен, что решение было успешно создано после добавления этого, но это заметное недавнее изменение.

Еще одна неудачная ссылка - на наш основной Data.dll, который содержит набор наборов данных и материал Entity Framework. Этот недавно был переведен на 4.0. Опять же, я почти уверен, что решение было создано после миграции проекта, но об этом стоит упомянуть.

Последней ошибочной ссылкой является сборка, которая использует пространство имен на один уровень «выше» от службы. Например, проблемный проект основан на пространстве имен ProductName.Component.ComponentService , и он не может увидеть проект, основанный на пространстве имен ProductName.Component . Этот был недавно создан вместе с проблемным проектом и также нацелен на 4.0.

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

31
задан Calvin Fisher 29 April 2011 в 14:50
поделиться