質問

私は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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top