注意:我对Windows开发非常非常新颖
我刚刚将Visual Studio .Net 2003解决方案转换为VS 2005(我们迈向VS2012的第一步)。转换后的VS 2005解决方案在其原始的32位XP环境中运行良好,但在64位Windows 7中出现“无此类接口支持”错误。
Error 13: Unable to cast COM object of type 'Reflection.Session' to interface type
'Reflection.DApplication'. This operation failed because the QueryInterface call
on the COM component for the interface with IID '...' failed due to the following
error: No such interface support (Exception from HRESULT: 0x80004002 (E_NOINTERFACE))
XP和Win7都使用相同的代码,相同的第三方DLL和相同的框架(基于下面的CorsFlag结果,似乎XP和Win7都使用.Net 1.1框架)。还有什么可以在Win7而不是XP中触发此错误?
如果有帮助,“Reflection.Session”和“Reflection.DApplication”是IBM Reflection 9终端仿真软件的一部分。终端模拟器在Win7中可以自行运行,但是我们在此代码中使用的API在Win7环境中使用时会出现上述错误。
通过其他StackOverflow答案,我尝试了以下内容:
查看可执行文件和Interop.Reflection.DLL的CorsFlags结果,我得到同样的响应:
Version : v1.1.4322
CLR Header : 2.0
PE : PE32
CorFlags : 0x1
ILONLY : 1
32BITREQ : 0
32BITPREF : 0
Signed : 0
我可能错了,但我认为这表明它不是32位与64位问题。我不是100%确定32对64位可能会触发此错误。
安装了“远程服务器管理工具”并启用了“远程桌面服务工具”。重新启动并再次测试后,仍然没有运气。