/clr で構築された COM オブジェクト使用時における CLR シャットダウンの例外の回避
共通言語ランタイム (CLR) がシャットダウン モードになると、ネイティブ関数は CLR サービスへのアクセスが制限されます。 /clr でコンパイルされた COM オブジェクトに対して Release を呼び出そうとすると、CLR はネイティブ コードに遷移し、次に、(マネージ コードに定義されている) IUnknown::Release 呼び出しを提供するためにマネージ コードに戻ります。 CLR はシャットダウン モードであるため、マネージ コードへのコールバックが回避されます。
これを解決するには、Release のメソッドから呼び出されたデストラクターにのみネイティブ コードが含まれていることを確認します。