Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net VB6升级后的E_NOINTERFACE_Vb.net_Com_Vb6_Vb6 Migration - Fatal编程技术网

Vb.net VB6升级后的E_NOINTERFACE

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项

升级基于VB 6的应用程序并公开COM接口后, 根据以前版本构建的COM客户端(在.NET中)接收
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?