【发布时间】:2011-05-06 00:30:50
【问题描述】:
我需要在 .Net 代码中使用 VB6 生成的 dll,但我很困惑,因为两者的编译是不同的。而且我不确定 .Net 运行时是否拒绝使用 VB6 dll。
【问题讨论】:
标签: dll vb6 .net .net-3.5 .net-4.0
我需要在 .Net 代码中使用 VB6 生成的 dll,但我很困惑,因为两者的编译是不同的。而且我不确定 .Net 运行时是否拒绝使用 VB6 dll。
【问题讨论】:
标签: dll vb6 .net .net-3.5 .net-4.0
您可以通过在 .NET 项目的“添加引用”对话框的 COM 选项卡上添加对组件的引用来引用从 VB6 生成的 ActiveX (COM) DLL(并使用 regsvr32 注册)。 Visual Studio 将为您生成所需的互操作层。
【讨论】:
VB6 dll 不是 .NET 程序集,并且本质上非常不同(非托管代码与托管代码),因此您不能直接使用它们。你需要PInvoke 或COM interop。
【讨论】:
VB6 编译器生成的 dll 与 .NET 编译器生成的程序集(也容易混淆地称为 dll)非常不同。
如果没有interop layer,您将无法直接呼叫他们。
【讨论】: