3

我正在使用Microsoft Enterprise Library编写应用程序。我为该企业库 DLL 文件编写了一个包装 DLL。我想在一些Windows 窗体应用程序中使用我的包装器。问题是每次我想使用我的包装器时,我都会在编译中收到一个错误,指出缺少对 Enterprise Library DLL 文件的引用。

我可以通过提供这个参考来简单地解决它,但我认为我在这里遗漏了一些东西,因为我只是将企业库 DLL 文件包装在我的 DLL 中。为什么没有从我的包装项目继承到 Windows 窗体项目的引用?

据我了解,Windows 窗体应用程序搜索 bin 目录,然后搜索GAC,如果找不到所需的 DLL 文件,则会引发错误。

Microsoft 企业库 DLL 文件已经签名并在 GAC 中,那么这里有什么问题?正如我所说,我觉得我错过了一些东西!

4

2 回答 2

4

程序集引用不可传递。

如果引用并调用引用程序集 B 的程序集 A,则不会自动获得对程序集 B 的引用。如果您与 A 的交互需要来自 B 的类型,那么您也需要引用 B。

于 2008-11-23T13:38:45.830 回答
1

您必须指定您使用的库(然后才会在本地文件夹和 GAC 中搜索它)

引用不是“继承的”,因为它是动态链接的(并且不包含在您的 dll 中),它们将在需要时打开。

于 2008-11-23T13:38:14.770 回答