Ссылочные библиотеки DLL не загружаются в Visual Studio 2010

Я работаю над проектом C # 4.0 в VS2010, и мне нужно было использовать некоторые старые библиотеки DLL, содержащие элементы управления, которые были созданы в C # 3.5 на VS2008. Когда я впервые добавляю библиотеки DLL к ссылкам, я смог увидеть пространство имен через intellisense и создать экземпляр одного из элементов управления, но когда я перехожу к сборке, я получаю следующую ошибку:

The type or namespace name 'BCA' could not be found (are you missing a using directive or an assembly reference?)

И у меня есть уже есть директива using для этого пространства имен, которая теперь подчеркнута красным, показывая, что VS не может ее найти. И теперь intellisense вообще не использует это пространство имен.

Я даже попытался добавить элементы управления в панель инструментов (что сработало), но затем, когда я перетаскиваю их в графический интерфейс, он говорит, что не может найти ссылку на DLL, хотя, очевидно, знает, где она находится.

Я даже попытался изменить целевую структуру на 3.5, но все равно с теми же результатами.

Есть мысли относительно того, почему это могло происходить?

Изменить. Я заметил, что в аргументах csc.exe, выводимых VS, нет записей / reference для библиотек DLL, которые я пытаюсь использовать. Когда я создаю такой же базовый проект в VS2008, эти записи существуют. Кроме того, я могу успешно ссылаться на библиотеки DLL в проекте DLL в VS2010 ... похоже, это просто проекты WinForms, которые не работают.


person Adam Haile    schedule 08.06.2010    source источник
comment
Это может быть очевидный вопрос, но действительно ли файлы DLL все еще находятся на том же месте на диске (или в GAC), как и при первоначальной ссылке на них?   -  person Graham Clark    schedule 08.06.2010
comment
Другой возможный очевидный вопрос - входит ли этот тип в сборку, которая им была обновлена? В этом случае, возможно, файл .refresh все еще указывает на устаревшую .DLL.   -  person David Neale    schedule 08.06.2010
comment
да, они точно не переехали. И ничего не обновлялось.   -  person Adam Haile    schedule 08.06.2010
comment
Это может быть проблема с 64-битной или 32-битной. У меня та же проблема в данный момент, поэтому я все еще работаю над ней сам   -  person Rik    schedule 08.06.2010
comment
Сомнительно ... У меня только 32-битная Windows XP (я знаю, я знаю ... чертова корпоративная политика)   -  person Adam Haile    schedule 08.06.2010


Ответы (4)


Оказывается, это было как-то связано с тем, что VS2010 по умолчанию использовал клиентский профиль .NET 4, как только я изменил его на обычный профиль, он построил нормально. День потрачен впустую ...

person Adam Haile    schedule 08.06.2010

просмотреть целевую структуру .. в моем проекте был профиль клиента 4.0, e эталонная dll была в 4.0

person fabricio    schedule 21.01.2011

Я попробовал Build-> Clean Solution, а затем смог добавить ссылку.

person Bijesh Lahiri    schedule 20.04.2012

Раньше у меня была аналогичная проблема, но профили не были проблемой, поэтому проблема заключалась в том, что моя библиотека классов использовала специальный пакет NuGet с зависимостями ... поэтому я устанавливаю пакет зависимостей в целевом проекте и добавил ссылку на проект и работает!

Но я не уверен, есть ли лучшее решение этой проблемы ??? для меня VS должен быть достаточно умен, чтобы нести эти dll вместе со ссылками. (Я уже подтвердил, что для параметра «Копировать локально» установлено значение «Истина»)

person Jaider    schedule 29.01.2014