自動テスト実行アプリケーションを作成しています。アプリケーションのこの部分では、ポーリング サーバーで作業しています。Web サーバーを常にポーリングして、新しい自動テストをいつ実行する必要があるかを判断します (GUI アプリケーションの夜間の自動実行用)。
ポーリング サーバーが要求を確認すると、必要なすべての情報をダウンロードし、バックグラウンド ワーカーでテスト実行を実行します。Clipboard.Clear()
問題は、テスト実行の一部に、バックグラウンド ワーカー スレッドで発生するOLE、COM、およびその他の呼び出し (たとえば、 ) があることです。これらの呼び出しのいずれかが発生すると、次の例外が発生します。
OLE 呼び出しを行う前に、現在のスレッドをシングル スレッド アパートメント (STA) モードに設定する必要があります。Main 関数に STAThreadAttribute がマークされていることを確認します。
バックグラウンドワーカースレッドをシングルスレッドアパートメントとしてマークするにはどうすればよいですか? 私の Program.cs の Main 呼び出しには、明らかにその属性が既にあります。