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