0

我们有一个应用程序使用WatinandHttpWatch来检查一些生产站点。我们会定期检查应用程序的响应时间,并为此使用此应用程序。

我们打开一个 IE 实例,并在设置一些配置后将该实例附加到HttpWatch插件中。该应用程序在 Windows Server 2003 中运行良好。

但是,当我们在 Windows Server 2008 中执行此应用程序时,会出现以下错误。

无法将“HttpWatch.ControllerClass”类型的 COM 对象转换为接口类型“HttpWatch.IController”。此操作失败,因为 IID 为“{21828BF3-DA77-4FC1-968E-FC7A46AEC19A}”的接口的 COM 组件上的 QueryInterface 调用失败,原因是以下错误:不支持此类接口(HRESULT 异常:0x80004002 (E_NOINTERFACE)) .

我们尝试了很多方法,但无法解决这个问题。此外,我们已经为所需的 Windows Server 2008 版本提供了最新的 DLL Interop.HttpWatch.dllInterop.SHDocVw.dll因为我们通过链接了解它。

4

2 回答 2

0

检查这是否是由于 2003 -> 2008 转换或 32 位 -> 64 位导致的错误。

我对 COM 有类似的错误 - 在某些情况下必须将编译更改为 32 位。

于 2013-03-01T16:31:57.010 回答
0

我终于解决了这个问题。

发生的问题如下:

该项目是为目标版本构建的——任何 CPU

该项目使用了Watin的InternetExplorer类,我们机器的IE目标版本是x86,而我的机器是x64。(Windows 服务器 2008 R2)

因此,当应用程序尝试将 x64 特定工作进程附加到 x86 IE 实例时,会出现上述错误。

我为 x86 平台重建了项目,现在应用程序运行良好。

如果您有同样的问题,请尝试这样做。如果有帮助,请告诉我!

问候,

Varun Shringarpure

于 2013-03-06T10:40:47.270 回答