【问题标题】:can we use Vb6 generated dlls in .net 3.5 prioject?我们可以在 .net 3.5 项目中使用 Vb6 生成的 dll 吗?
【发布时间】:2011-05-06 00:30:50
【问题描述】:

我需要在 .Net 代码中使用 VB6 生成的 dll,但我很困惑,因为两者的编译是不同的。而且我不确定 .Net 运行时是否拒绝使用 VB6 dll。

【问题讨论】:

    标签: dll vb6 .net .net-3.5 .net-4.0


    【解决方案1】:

    您可以通过在 .NET 项目的“添加引用”对话框的 COM 选项卡上添加对组件的引用来引用从 VB6 生成的 ActiveX (COM) DLL(并使用 regsvr32 注册)。 Visual Studio 将为您生成所需的互操作层。

    【讨论】:

      【解决方案2】:

      VB6 dll 不是 .NET 程序集,并且本质上非常不同(非托管代码与托管代码),因此您不能直接使用它们。你需要PInvokeCOM interop

      【讨论】:

        【解决方案3】:

        VB6 编译器生成的 dll 与 .NET 编译器生成的程序集(也容易混淆地称为 dll)非常不同。

        如果没有interop layer,您将无法直接呼叫他们。

        【讨论】:

          猜你喜欢
          • 2011-08-08
          • 1970-01-01
          • 2011-03-06
          • 2012-08-10
          • 1970-01-01
          • 2011-02-28
          • 2021-09-17
          • 1970-01-01
          • 2011-05-17
          相关资源
          最近更新 更多