2013-03-20 2 views
1

Я написал databases.dll и ссылался на 2 dll внутри.(C#) Справочные dll внутри dll

Npgsql.dll and MySql.Data.dll 

Я составил свой проект databases.dll в командной строке следующим образом:

csc.exe /target:library /r:Npgsql.dll,MySql.Data.dll /out:databases.dll PostgreSql.cs MySql.cs 

databases.dll компилируется без проблем.

Проблема возникает, когда я хочу протестировать ее, создав новый проект и ссылку database.dll. Программа компилируется, но при попытке использовать DLL-код она приносит ошибку: TypeInitializationException was unhandled.

Я пытался скопировать обе библиотеки DLL в каталог, в котором находится цель компиляции.

Я хочу спросить, если есть возможность:

  1. Создание библиотеки DLL, которые ссылаются на другие библиотеки DLL.

  2. Предоставьте dll для enduser без ссылки на DLL и попросите их сделать это, если они хотят использовать каждую часть dll. Поэтому, когда кодер хочет использовать MySql, он должен предоставить MySql.dll компиляции.

Я надеюсь, что я сделал себе ясной причины мой английский не является совершенным;)

+0

Должно существовать внутреннее исключение из исключения TypeInitializationException. Проверь это; он может предоставить вам более глубокое понимание проблемы. –

ответ

0

Как Npgsql.dll и MySql.Data.dll являются библиотеки DLL зависимостей, они оба должны быть ссылки на ваш проект для того, чтобы скомпилировать ,

+0

Я ссылаюсь на оба из них с "copy local" – gemGreg

Смежные вопросы