使用引用枚举的COM DLL方法

时间:2018-01-09 12:33:19

标签: vb.net dll vb6

我使用x86编译器和.net目标框架4.5.2在VS2015中创建了一个VB.NET应用程序

我使用tlbimp创建了一个用VB6编写的COM dll的RCW,称为“NETLib.dll”,并将此interop添加为我项目的参考。

此COM dll包含以下方法:

Function DoSomething(sData As String, iData As Integer, eData As RefLib.enumDat) As Integer

在班级claSomeClass内。

我的问题:我在我的VB.NET项目中使用此方法,如下所示

Public Class MyClass
    Private oNetLibClass As NetLib.claSomeClass

    Sub New()

        oNetLibClass = New NetLib.claSomeClass
        Dim eVal = RefLib.enumDat.Foo

        Dim lReturn = oNetLibClass.DoSomething("DoIt", 1, eVal)

    End Sub
End Class

我收到错误:

  

BC30652:装配'RefLib,Version = 2.0.0.0所需的参考,   Culture = neutral,PublicKeyToken = null'包含'enumDat'类型。   在项目中添加一个。

代码行Dim lReturn = oNetLibClass.DoSomething("DoIt", 1, eVal),即使我添加了RefLib(也是一个COM dll)作为我的VB.NET项目的互操作。

为什么我会收到此错误?

P.S:行Dim eVal = RefLib.enumDat.Foo没有抛出任何错误,所以我认为引用是正确添加的......

0 个答案:

没有答案