Windows升级后的Watin + HttpWatch应用程序问题?

时间:2013-02-04 08:05:56

标签: c# watin httpwatch

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

我们打开一个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))

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

2 个答案:

答案 0 :(得分:0)

检查这是否是由于2003年的错误 - > 2008年过渡或32位 - > 64位。

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

答案 1 :(得分:0)

我终于解决了这个问题。

发生的问题如下:

该项目是为目标版本 - 任何CPU

而构建的

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

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

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

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

此致

Varun Shringarpure