Проблема приложения Watin + HttpWatch после обновления Windows?
У нас есть приложение, использующее Watin
а также HttpWatch
, чтобы проверить некоторые производственные площадки. Мы регулярно проверяем время отклика наших приложений и используем это приложение для этого.
Мы открываем экземпляр IE и после установки некоторых конфигов присоединяем этот экземпляр с помощью HttpWatch
плагин. Приложение отлично работает в Windows Server 2003.
Но мы получаем следующую ошибку при запуске этого приложения в Windows Server 2008.
Невозможно привести объект COM типа "HttpWatch.ControllerClass" к типу интерфейса "HttpWatch.IController". Эта операция завершилась неудачно, поскольку вызов QueryInterface для компонента COM для интерфейса с IID '{21828BF3-DA77-4FC1-968E-FC7A46AEC19A}' завершился неудачно из-за следующей ошибки: такой интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE)),
Мы перепробовали много вещей, но не смогли решить эту проблему. Кроме того, мы поместили последние DLL для Interop.HttpWatch.dll
а также Interop.SHDocVw.dll
для требуемой версии Windows Server 2008, как мы узнали об этом по ссылке.
2 ответа
Проверьте, является ли это ошибкой из-за перехода 2003 -> 2008 или 32 бита -> 64 бита.
У меня есть подобные ошибки с COM - и в некоторых случаях приходится менять компиляцию на 32-битную.
Я наконец исправил эту проблему.
Проблема, которая возникала следующим образом:
Проект был построен для целевой версии - любой процессор
В проекте использовался InternetExplorer Class of Watin, и IE для нашей машины имеет целевую версию x86, а моя машина x64. (Windows Server 2008 R2)
Поэтому, когда приложение пыталось присоединить конкретный рабочий процесс x64 к экземпляру IE x86, оно выдавало вышеуказанную ошибку.
Я перестроил проект для платформы x86, и теперь приложение работает отлично.
Если у вас возникла та же проблема, попробуйте сделать это следующим образом. Дайте мне знать, если это поможет!
С Уважением,
Варун Шрингарпур