注
この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。
サービス コンポーネント (マネージド コード COM+ コンポーネント) は、グローバル アセンブリ キャッシュに配置する必要があります。 一部のシナリオでは、共通言語ランタイムと COM+ サービスは、グローバル アセンブリ キャッシュにないサービス コンポーネントを処理できます。他のシナリオでは、できません。 次のシナリオは、これを示しています。
COM+ Server アプリケーションのサービス コンポーネントの場合、コンポーネントを含むアセンブリはグローバル アセンブリ キャッシュに存在する必要があります。これは、Dllhost.exe がサービス コンポーネントを含むディレクトリと同じディレクトリで実行されないためです。
COM+ ライブラリ アプリケーションのサービス コンポーネントの場合、ランタイムと COM+ Services は、現在のディレクトリを検索することで、コンポーネントを含むアセンブリへの参照を解決できます。 この場合、アセンブリはグローバル アセンブリ キャッシュに存在する必要はありません。
ASP.NET アプリケーションのサービス コンポーネントの場合、状況は異なります。 サービス コンポーネントを含むアセンブリをアプリケーション ベースの bin ディレクトリに配置し、オンデマンド登録を使用すると、ASP.NET はランタイムのシャドウ機能を利用するため、アセンブリはダウンロード キャッシュにシャドウ コピーされます。
こちらも参照ください
.NET