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で説明されているのと同じ問題のように思えます。
この問題の有効な回避策を知っている人はいますか?