Vb.net VB6升级后的E_NOINTERFACE
升级基于VB 6的应用程序并公开COM接口后, 根据以前版本构建的COM客户端(在.NET中)接收Vb.net VB6升级后的E_NOINTERFACE,vb.net,com,vb6,vb6-migration,Vb.net,Com,Vb6,Vb6 Migration,升级基于VB 6的应用程序并公开COM接口后, 根据以前版本构建的COM客户端(在.NET中)接收E_NOINTERFACE错误 错误消息(已翻译) 无法将类型为approduct.AClass的COM对象转换为类型为approduct的接口。_AClass 这里出了什么问题 E\u NOINTERFACE错误的原因是什么 我认为一旦一个接口发布到COM,它就不能被更改;应该发布一个新接口(具有唯一的UUID),该接口可以继承旧接口,因此我推断该接口可能已被错误地更新(扩展)。您的VB 6.0项
E_NOINTERFACE
错误
错误消息(已翻译)
无法将类型为approduct.AClass
的COM对象转换为类型为approduct的接口。_AClass
这里出了什么问题
E\u NOINTERFACE
错误的原因是什么
我认为一旦一个接口发布到COM,它就不能被更改;应该发布一个新接口(具有唯一的UUID),该接口可以继承旧接口,因此我推断该接口可能已被错误地更新(扩展)。您的VB 6.0项目中的版本兼容性设置是什么?(请参见项目属性的“构件”选项卡) 如果不是二进制兼容性,那么在编译DLL时,组件公开的接口和事件的GUID可能已经更改 查看这些资源以获取更多信息
您的VB 6.0项目中的版本兼容性设置是什么?(请参见项目属性的“构件”选项卡) 如果不是二进制兼容性,那么在编译DLL时,组件公开的接口和事件的GUID可能已经更改 查看这些资源以获取更多信息
感谢您指出这些问题,看起来这确实发生了(VB6应用程序来自外部供应商)。有没有可能修补运行时可调用的包装器,以解决更改后的GUID?感谢您指出这些问题,似乎这确实发生了(VB6应用程序来自外部供应商)。是否有可能修补运行时可调用的包装器,以便处理更改的GUI?