🌷

xUnitエラー:OLE が呼び出される前に、現在のスレッドが...

2024/01/04に公開

現象

Clipboardを扱うクラスのxUnitで、以下のエラーになる。

Message: System.Threading.ThreadStateException :
OLE が呼び出される前に、現在のスレッドが Single Thread Apartment (STA) モードに設定されていなければなりません。
Main 関数に STAThreadAttribute が設定されていることを確認してください。

対策

xUnitのSTA拡張などもあるが、正攻法はClipboardを扱うだけ切り出してSTAスレッド化。下記が詳しい。
https://dobon.net/vb/dotnet/system/nostaclipboard.html

Discussion