使用嵌入式Interop-Types时发出警告

时间:2011-07-14 13:51:17

标签: .net com-interop tlbimp

我最近更新了一个从VS2008到2010的C#解决方案,以利用嵌入式互操作类型功能,因此我可以停止运送我们目前拥有的互操作库,因为我们与传统的VB6代码库进行了交互。

出于某种原因,我在编译解决方案时收到以下消息:

  

类型库导入器遇到了一个不是从IUnknown派生的接口:'_ HiddenInterface'

我一直在搜索,到目前为止,我能找到的唯一两点信息是“只是忽略它不会造成任何伤害”,“这意味着VB6代码违反了一些规则”。由于VB代码库是我们的,并且最好在编译时有0个警告,我想纠正导致这些警告的任何内容。

我很茫然,所以任何建议都会很棒。

1 个答案:

答案 0 :(得分:2)

如果您对包含带有返回VB Collection对象的公共方法的类的COM库的引用,您将收到编译器警告。

_HiddenInterface接口包含在MSVBVM60.DLL中。您可以通过打开OLE视图并导航到类型库>来查看此信息。 Visual Basic for Applications(版本6.0)。双击类型库以显示ITypeLib查看器窗口。您可以在列表中看到interface _HiddenInterface

您应该能够使用这些函数返回的集合,尽管您无法在Microsoft知识库文章BUG: Error message when you try to pass a Collection object from Visual Basic 6.0 components to Visual Basic 2005 or to Visual Basic .NET: "System.InvalidCastException"中记录的.NET中创建一个实例。