別のプロジェクトにインポート (参照) されている C# ライブラリで ManagementEventWatcher を使用しています。私が抱えている問題は、私の場合、アプリケーションを閉じる前に ManagementEventWatcher を「停止」して「破棄」する必要があることです。ライブラリを変更することのみが許可されており、ライブラリを実装するアプリケーションは変更できません。
私は次のことを試しました:
public class MyClass:IDisposable ...
その後
public void Dispose()
{
_wmiWatcherRemoved.Stop();
_wmiWatcherRemoved.Dispose();
}
ただし、Dispose は実行されません。したがって、アプリケーションは次の例外を受け取ります。
COM object that has been separated from its underlying RCW can not be used
何か案は?ご尽力いただきありがとうございます。