Мое приложение имеет набор из 3,5 и 4,0 целевых сборок.Я работаю над новой службой Windows, нацеленной на 4.0, и проект внезапно оказывается не в состоянии увидеть некоторые другие сборки в решении.Это означает, что при сборке все ссылки на эти определенные другие сборки приводят к следующей ошибке:
Тип или имя пространства имен '[X]' не существует в пространстве имен '[Y]' (выотсутствует ссылка на сборку?)
Если я удаляю ссылку на проект и заново добавляю ее, красные кривые исчезают, а Intellisense снова включается, как и положено.Все остальные проекты в решении строятся без проблем. Но как только я пытаюсь построить этот новый проект, ошибки возвращаются.
Одна из ошибочных ссылок относится к нашему Core.dll, который нацелен на 3.5.Недавно мы добавили CoreEx.dll, ориентированный на 4.0, с общим пространством имен между сборками.Новая служба может видеть CoreEx.dll, но не Core.dll ... то есть, когда я начинаю набирать using Core.Utilities...
Intellisense обнаруживает меньший набор пространств имен из CoreEx.dll, но не отображает ничего, что появляется только в Core.dll,Я почти уверен, что решение было успешно построено после добавления этого, но это заметное недавнее изменение.
Еще одна недостоверная ссылка на наше ядро Data.dll, которое содержит наборы данных и вещи Entity Framework.Этот был недавно перенесен в 4.0.Опять же, я почти уверен, что решение, созданное после переноса проекта, но стоит упомянуть.
Последней ошибочной ссылкой является сборка, которая использует пространство имен на один уровень выше от сервиса.Например, проблемный проект основан на пространстве имен ProductName.Component.ComponentService
, и он не может видеть проект на основе пространства имен ProductName.Component
.Этот был недавно создан вместе с проблемным проектом и также нацелен на 4.0.
Как вы можете видеть, не существует какой-либо рифмы или причины, по которой ссылки на сборку терпят неудачу ... и проблемный проектможет успешно ссылаться на некоторые других сборок в решении.Я пытался очистить, перестроить, перезапустить Visual Studio ... ничто не исправило это навсегда.Что может быть причиной этого?