升级基于VB 6的应用程序以显示COM接口后,针对先前版本构建的COM客户端(在.NET中)收到E_NOINTERFACE
错误。
错误消息(已翻译),
无法将类型为
AProduct.AClass
的COM对象转换为类型为AProduct._AClass
的接口...
这里出了什么问题?
E_NOINTERFACE
错误的原因是什么?
I thought一旦接口发布到COM,就不能更改;应该发布可以继承旧接口的新接口(具有唯一的UUID),因此我认为该接口可能已不正确地更新(扩展)。
您的VB 6.0项目中的“版本兼容性”设置是什么? (请参阅项目属性的“组件”选项卡)
如果不是二进制兼容性,则在编译DLL时可能已更改了组件公开的接口和事件的GUID。
查看这些资源以获取更多信息