数日前、作成している ac# winform アプリケーションでエラーが発生し始めました。
CLR は、60 秒間、COM コンテキスト 0x278f58 から COM コンテキスト 0x2790c8 に移行できませんでした。宛先コンテキスト/アパートメントを所有するスレッドは、非ポンピング待機を行っているか、Windows メッセージをポンピングせずに非常に長時間実行されている操作を処理している可能性があります。
これは、別のスレッドを使用して exe プロセスを実行し、UI のフリーズを回避しているときに発生します。リリース バージョンでは、このプログラムは正常に動作し、期待どおりに動作しますが、プログラムを一貫してデバッグすることはほぼ不可能です (正常に動作する場合もあれば、あまり正常に動作しない場合もあります)。
このエラーの問題を解決する複数のグーグル回答を使用して同期を強制することにより、このプロセスを実装しようとしましBackgroundWorker
たが、プログラムが予期しない方法で動作します(exeが終了する前にテキストボックスが入力され、誤ったデータが生成されます)。
このエラーは本番環境でのみ発生し、リリースでは発生しないことを読みました..だから私の質問は、この煩わしさと一緒に暮らすべきですか、それともバックグラウンドワーカー以外のソリューションですか? コード例が必要な場合は提供できますが、必要ではないと思います