我要求在.Net代码中使用VB6生成的dll,但我很困惑,因为两者的编译都是不同的。如果.Net运行时拒绝使用VB6 dll,我不确定。
答案 0 :(得分:4)
您可以通过在.NET项目的“添加引用”对话框的COM选项卡上添加对该组件的引用来引用从VB6生成的ActiveX(COM)DLL(并使用regsvr32
注册)。 Visual Studio将为您生成所需的互操作层。
答案 1 :(得分:0)
VB6 dll不是.NET程序集,本质上是非常不同的(非托管代码与托管代码),因此您无法直接使用它们。您需要PInvoke或COM interop。
答案 2 :(得分:0)
VB6编译器生成的dll与.NET编译器生成的程序集(也令人困惑地称为dll)非常不同。
如果没有interop layer,您将无法直接拨打电话。