mshtml.dll
私たちの .NET プロジェクトで referenced を使用しているときに同様の問題を見たことがありますが、この特定の状況に関連するものは何もありません。私の場合、関連するすべてのプロパティ/属性が欠落しているコクラスについて、このスレッド ( .net document write with mshtml )で述べられていることと、問題が何らかの関係があるのではないかと疑っています。ここでの詳細は、オブジェクトmshtml.HTMLInputElement
の解析中に使用していることと、そのプロパティ/属性のセットです。WebBrowser.Document
if (domElement is HTMLInputElement)
{
HTMLInputElement inputElement = (HTMLInputElement)domElement;
if (inputElement.name == null || inputElement.name.Trim() == string.Empty ||
inputElement.name.Contains("/") || inputElement.name.Contains("="))
{
...
}
}
上記は開発用 PC (VS2008 3.5 SP1) で正常に動作し、name
プロパティの他に、 などのように他のものも正常に呼び出されtype
ていますが、必要なすべてのフレームワーク部分を備えた Windows 7 にアプリケーションをインストールすると、次のようになりますCOMException
。
==============
System.Runtime.InteropServices.COMException がネイティブ/マネージド境界を超えました メッセージ = メンバーが見つかりません。(HRESULT からの例外: 0x80020003 (DISP_E_MEMBERNOTFOUND)) Source=mscorlib
ErrorCode=-2147352573 StackTrace: System.RuntimeType.ForwardCallToInvokeMember (文字列 memberName、BindingFlags フラグ、オブジェクト ターゲット、Int32[] aWrapperTypes、MessageData& msgData) で mshtml.DispHTMLInputElement.get_name( )
======================
name
、 、 などのプロパティへの呼び出しはtype
現在機能していません。いつも同じInterop.COMException
ものが投げられます。.net document write with mshtmlで説明されているのと同じ問題のように思えます。
この問題の有効な回避策を知っている人はいますか?