Ссылка на код в IBM.Data.DB2 делает эту сборку недоступной для остальной части моего решения. - PullRequest
7 голосов
/ 21 октября 2010

У меня консольное приложение C # с тремя сборками: Main, Common и Utilities.

В файле в сборке Main, Main.cs, у меня есть строка:

using Utilities;

В каталоге внутри сборки Common у меня есть DLL IBM.Data.DB2.dll.

В сборке Utilities у меня есть исходный модуль, который обращается к указанному dll . Утилиты имеют ссылку на IBM.Data.DB2. В исходном файле этой сборки, Util.cs, у меня есть строка:

using IBM.Data.DB2;

Если в методе из этого файла я сделаю ссылку на код в сборке DB2, например:

DbConnection c = new DB2Connection( _connectString );

Я получаю сообщение об ошибке при компиляции сборки Main о том, что имя пространства имен Utilities не может быть найдено. Utilities компилируется нормально с или без строки. Если я закомментирую вышеприведенную строку, все будет хорошо.

Ответы [ 2 ]

9 голосов
/ 22 октября 2010

Пришел полезный коллега и решил это для меня примерно за пять секунд.

Оказывается, что по умолчанию, когда в VS 2010 создается новое консольное приложение, оно получает целевую среду ".NET".Framework 4 Профиль клиента ".Если изменить это на .NET Framework 4, проблема исчезнет.

0 голосов
/ 18 июня 2015

Занимался аналогичной проблемой в VS 2013. Я проверил версию сборки профиля клиента, все выглядело хорошо, и я наконец понял, что мне нужно щелкнуть правой кнопкой мыши на вкладке Ссылки, чтобы добавить проекты, которые я включил в свое решение.Рекомендации.Я сделал это, и все щелкнуло!

...