我使用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
没有抛出任何错误,所以我认为引用是正确添加的......