Почему сбой сборки в Visual Studio, потому что он не может разрешить пространства имен из ссылочных сборок?
У меня есть 3 библиотеки классов. Позволяет называть их A, B и C. Я добавил project reference
из A и B в проект C.
A и B строят без каких-либо ошибок или предупреждений.
Код (файл класса) из проекта C использует общедоступные классы из A и B. Когда я добавляю ссылку на проект в C и просматриваю файл класса (до создания проекта C) в проекте C, я могу четко что все классы и пространства имен из A и B. разрешены. Когда я наводил указатель мыши на имя класса (класс из A или B), он также показывает правильное пространство имён.
Я установил свойство Copy Local
в True
на обеих ссылках проекта.
Однако
- Когда я запускаю Rebuild All (или Build on project C), сборка завершается с ошибкой, потому что не удается разрешить пространства имен! Что я могу проверить дальше, чтобы убедиться, что все сделано правильно?
- Я никогда не нахожу сборки A и B, скопированные в папку
bin\debug
проекта C. Почему он не копирует ссылку? (Я видел несколько вопросов по этой проблеме, но ни одно из предоставленных им решений не сработало для меня)
Ответы
Ответ 1
Проблема решена. Проблема заключалась в том, что проект C нацеливал рамки ".NET 4 Client profile", а A, B были нацелены на ".NET 4". Когда я изменил целевую структуру C, все было успешно построено.
Отвечал на этот вопрос от пользователя "Registered User".
Ответ 2
Убедитесь, что каждый проект использует ту же Целевую структуру. Вы можете получить такую ошибку, если, например, один из проектов использует .Net Framework 4 Client Profile и остальное использует .Net Framework 4 (не профиль клиента)