Тип "x" определен в сборке, на которую нет ссылок. VS 2010 C # - PullRequest
1 голос
/ 04 августа 2010

У меня возникла проблема, которую я просто не смог решить и хотел бы получить какие-либо комментарии.

Я работаю с несколькими библиотеками классов в Visual Studio 2010, .net 4.0 Framework, в C #. У меня есть проект библиотеки классов, который ссылается на вывод сборки (файл .dll) другого решения Visual Studio. Ссылка была правильно добавлена ​​в проект библиотеки классов (правильный путь, версия и т. Д.). Все типы, зависящие от ссылочной сборки, известны компилятору во время разработки (без красных кривых).

Однако, когда я пытаюсь построить проект, я получаю следующую ошибку:

Тип 'x' определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку «MyAssembly, версия = 1.0.1.1, Culture = нейтральный, PublicKeyToken = null».

Примечание: имя типа заменено на x выше.

Это как если бы ссылка не была добавлена, но она есть. Кто-нибудь еще сталкивался с подобной проблемой и обнаружил обходной путь?

Большое спасибо, Andrew

1 Ответ

0 голосов
/ 04 августа 2010

Это странно, но это не должно зависеть от версии, то есть она также применима к VS 2005 и VS 2008.

  1. Просто проведите некоторое базовое тестирование, если вы получите доступ к решению, которое создает файл библиотеки, к файлу .dll, затем определите область применения решения и изучите некоторые его члены.
  2. Затем в проекте по вашему выбору щелкните правой кнопкой мыши проект и нажмите Добавить ссылку.
  3. перейдите в папку, в которой хранится файл .dll, и нажмите «o.k» для добавления.
  4. VS обычно показывает некоторую короткую анимацию, показывая что-то добавленное.
  5. Сохранить.
  6. Область в пространстве имен библиотеки, если вы хотите, VS автоматически выберет это для, когда нажмете клавишу табуляции после '=' в операторе присваивания.
  7. В примере файла класса создайте экземпляры некоторых из этих типов, найденных только в только что добавленном файле DLL. VS studio начнет разметку ключевых слов и т. Д. Как обычно, что означает, что ссылка работает, так как intellisense обнаруживает новые типы.
  8. Как только вы создадите экземпляр типа или класса, найденный в вашем .dll, протестируйте экземпляр с помощью '.' запись и просмотр информации, которую intellisense извлекает из метаданных, прикрепленных к файлу класса.
  9. Вы должны найти все соответствующие элементы данных, которые будут заполнены для исследуемого типа.

Я только что проверил это, как и 5 минут назад, просто чтобы убедиться, что в VS 2008 Pro Edition используется .Net 3.5 и C #. НЕТ СООТВЕТСТВУЮЩИХ ПРОБЛЕМ !!!

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...