我正在使用Microsoft Enterprise Library编写应用程序。我为该Enterprise Library DLL文件编写了一个包装器DLL。我想在一些Windows Forms应用程序中使用我的包装器。问题是,每次我想使用我的包装器时,我都会在编译中遇到错误,该错误表明缺少对Enterprise Library DLL文件的引用。
我可以通过提供此引用来解决它,但我认为我在这里遗漏了一些东西,因为我只是在我的DLL中包装了Enterprise Library DLL文件。为什么引用从我的包装器项目继承到Windows窗体项目?
据我所知,Windows窗体应用程序搜索bin目录,然后搜索GAC,如果找不到所需的DLL文件,则会引发错误。
Microsoft Enterprise Library DLL文件已经签名并在GAC中,所以这里有什么问题?正如我所说,我觉得我错过了什么!
答案 0 :(得分:4)
装配参考不具有传递性。
如果引用并调用引用程序集B的程序集A,则不会自动获得程序集B的引用。如果与A的交互需要B中的类型,则还需要引用B。 / p>
答案 1 :(得分:1)
您必须指定您使用的库(然后才会在本地文件夹和GAC中搜索它)
引用不是“继承”的,因为它是动态链接的(并且不包含在您的dll中),它们将在需要时打开。