我使用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

在 class 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 行没有抛出任何错误,所以我假设正确添加了引用...