2013-03-20 66 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的最终用户提供dll,并要求他们这样做,如果他们想要使用dll的每个部分。所以当编码员想要使用MySql时,他必须提供MySql.dll来编译。

我希望我自己清楚原因我的英语是不完美的;)

+0

应该有一个TypeInitializationException的内部异常。检查一下;它可能会让您更深入地了解问题。 – 2013-03-20 18:14:08

回答

0

由于Npgsql.dllMySql.Data.dll都依赖的DLL,它们都需要由您的项目,以引用它来编译。

+0

我引用他们两个“复制本地” – gemGreg 2013-03-20 12:52:36