【问题标题】:Referencing the Microsoft Enterprise Library DLL file in a wrapper DLL在包装 DLL 中引用 Microsoft Enterprise Library DLL 文件
【发布时间】:2008-11-23 13:30:32
【问题描述】:

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

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

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

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

【问题讨论】:

  • 请引用您的编译器错误的确切文本。

标签: .net dll reference gac


【解决方案1】:

程序集引用不可传递。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 2013-07-23
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多