【问题标题】:Create a .dll that references another .dll创建一个引用另一个 .dll 的 .dll
【发布时间】:2012-05-17 01:54:06
【问题描述】:

我在 .Net 中创建了一个 .dll 供同事包含在他的 VB6 项目中。经过一番摸索,我们终于得到了从 VB6 项目中引用的 .dll,并且能够创建对象实例。

问题是我的 .dll 引用了另一个 .dll(第三方)。我知道在生成 .exe 文件时,您可以选择 include 引用的 .dll 而不是将其作为先决条件。但是,创建 .dll 文件时无法使用相同的功能。

在他的 VB6 中提到第三方 .dll 不可访问。

如何在我的 .dll 中包含第三方 .dll?还是我的同事引用第三方 .dll 和我的一样更明智?

提前致谢。

【问题讨论】:

    标签: .net dll vb6


    【解决方案1】:

    您不能(可靠地)将引用的 DLL 嵌入到另一个中。它们都需要复制到目标机器及其先决条件,并按照作者的建议进行注册/设置。

    【讨论】:

    • 我害怕那个。谢谢!
    【解决方案2】:

    为了从 VB6 引用 .NET DLL,您需要从相应的 .NET Framework 版本运行“regasm”命令。您还希望使用“/tlb”开关让它输出类型库(.tlb 文件)。

    获得 tlb 文件后,您只需从 VB6 IDE 中选择 Project->References 并单击浏览以选择 tlb。您现在可以在 .NET 库中使用类的早期绑定实例化。

    由于您的 .NET DLL 使用另一个 DLL,您只需确保引用您的 .NET DLL 的 EXE 可以访问它。这是通过将第三方 DLL 部署到启动 EXE 的同一路径来完成的,或者您也可以将第三方 DLL 添加到全局程序集缓存 (GAC)(如果它也是 .NET 并且也是强命名的)。

    【讨论】:

      猜你喜欢
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      相关资源
      最近更新 更多