HtmlElement.DomElement возвращает System.__ComObject
От: Евдоким  
Дата: 08.07.13 11:00
Оценка: :)
Добрый день. Пишу программу в Visual C# 2010 Express.
Фрагмент кода:

public void Operation1(HtmlElement targetElement)
       {                      
           object DO=targetElement.DomElement;               
        
              . . . . . . . .    

       }

На моём компьютере все работает нормально: переменная DO принимает какое-то значение , например mshtml.HTMLAnchorElementClass и далее я могу производить с ней какие-либо действия. Конфигурация моей системы: Windows 7 Максимальная, .NET Framework 4.5, IE10.
На другом компьютере с такой-же конфигурацией программа не работала. Установил там Visual C# 2010 Express, запустил, вижу что HtmlElement.DomElement возвращает System.__ComObject .
Ещё один момент: На моём компьютере при подключении References/Add reference.../COM/Microsoft HTML Object Library 4.0 , подключается C:\Windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.mshtml.dll .
А на проблемном компьютере при попытке подключения этой же библиотеки система задумывается минут на 5 и подключает d:\[Путь к моему проекту]\obj\x86\Debug\Interop.MSHTML.dll . Возможно система не видит Microsoft.mshtml.dll . Со своего компьютера на проблемный я скопировал папку c:\Windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\ , но результат тот-же.
У кого есть мысли, помогите пожалуйста.
htmlelement domelement system.__comobject
Re: HtmlElement.DomElement возвращает System.__ComObject
От: Евдоким  
Дата: 14.07.13 10:46
Оценка:
Причина найдена. Необходимо чтоб на том том компьютере, где выполняется приложение необходимо не только установить microsoft.mshtml.dll в GAC, но и зарегистрировать её с помощью утилиты regasm.exe
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.