0

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

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

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

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

提前致谢。

4

2 回答 2

3

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

于 2012-05-08T15:09:17.780 回答
1

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

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

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

于 2012-05-09T03:42:33.170 回答