interop.shdocvwを使用したエラー
質問
私はWebブラウザーコントロールに接続しようとしていましたが、IWebBrowser2がiWebbrowser2を実装する必要があるという例外を継続的に投げました。その後、私はこれをグーグルで検索して解決策を見つけました。そして、私はしました。
次にコードを書きました
var t = new Thread(() =>
{
Form1 frm1 = new Form1();
//new FormDialogWatcher(frm1.Handle);
Settings.AutoStartDialogWatcher = false;
var ie = new IE( frm1.WebBrowser1);
ie.GoTo("http://www.google.com");
});
t.SetApartmentState(ApartmentState.STA);
t.Start();
Stack Overflowの他のスレッドが示唆しているように。
エラー64
両方のアセンブリで見つかったinteropタイプ 'shdocvw.tagreadystate' e: xmlreader lib lib interop.shdocvw.dll 'および' e: xmlreader xmlreader obj x86 debug interop.shdocvw.dll '。 「埋め込まれたインターポイプタイプ」プロパティをfalseに設定するOnsider。
このDLLを右クリックして、埋め込みインタープットをfalseに変更しましたが、効果はありませんでした。
コメントしました var ie = new IE( frm1.WebBrowser1);
そして、68のエラーはすべてなくなりました。
解決
なぜあなたはフォームが欲しいのですか。これを試して:
var ie = new IE();
アパートメンテートは、設定内のアプリケーション全体に設定できます。
<configuration>
<configSections>
<sectionGroup name="NUnit">
<section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<NUnit>
<TestRunner>
<!-- Valid values are STA,MTA. Others ignored. -->
<add key="ApartmentState" value="STA" />
</TestRunner>
</NUnit>
</configuration>
所属していません StackOverflow