0

我有我的 C#.net 类库(MyLib.dll)。Other.dllMyLib.dll 正在调用通过引用我的类库(MyLib.dll)添加的其他第三方 dll( ) 文件。

现在的问题是MyLib.dll要在 vb 6.0 中使用。

我已经注册MyLib.dll启用 COM,并且我已经Register for COM Interop在我的类库的属性中设置了选项。

我还为(使用)和为使它们在 COM 中可见生成.tlb了文件。我可以在 vb6 的参考文献中看到这两个。MyLib.dllRegasmOther.dllMyLib and Other

中的方法MyLib可见,但Other使用 vb6 打开时不可见。

我也尝试将 MyLib 放在 GAC 中,但Other.dll(第三方 dll)不支持 vb6,它只支持 C#.net 和 VB.Net。

如何使Other.dllvb6 中的方法可见。

有什么方法可以使第三方 dll 中的方法可见?

4

1 回答 1

1

所以,如果我理解正确的话,MyLib.dll 在 COM 中是可见的,但 Other.dll 不是。但是,如果从 MyLib.dll 中可以看到 Other.dll,您可以使用 MyLib.dll 作为 Other.dll 和 COM 之间的桥梁。

假设 Other.dll 有一个您希望向 COM 公开的 void Foo(int x, string y) 函数。像这样在 MyLib.dll 上创建一个函数

public void Foo(int x, string y)
{
    Other.Foo(x, y);
}

这不行吗?

于 2012-08-08T10:34:09.113 回答