1. ホーム
  2. interop

[解決済み] RCWから分離されたCOMオブジェクトは使用できません。

2022-01-29 19:50:42

質問事項

OpcRcw.da.dllを使おうとしています。 このDLLをテストコンソールプロジェクト内で相互運用すると、すべてがうまくいきますが、相互運用の体操をするためにDLLプロジェクトを構築し、私のライブラリをコンソールプロジェクトに参照すると、次のエラーが発生します。

基盤となるRCWから分離されたCOMオブジェクトは使用できません。

クラスリブのプロジェクトでRCWの参照を停止させないためには、どのようなことをする必要がありますか?

解決方法は?

実際のアプリケーションが何を行っているのか、ややわかりにくいのですが、COM オブジェクトをインスタンス化した後、別のスレッド(おそらく Timer.Elapsed イベント)からアクセスしようとしている可能性があるようです。 アプリケーションがマルチスレッドである場合、使用する各スレッド内で COM オブジェクトをインスタンス化する必要があります。