(4) 共有コンポーネント
前述した Client プログラムは複雑なプログラムを構築するうえでの基本を示していますが、Client 実行可能ファイル専用のコンポーネントを使用する場合についてしか説明していません。一方、多くのアプリケーションは、複数のアプリケーションによって共有されるコンポーネントを使用します。通常はサードパーティの開発者によって提供されるこれらのコンポーネントは、システム内の共通の場所にインストールされます。既定では、システムは、グローバル アセンブリ キャッシュ (GAC: Global Assembly Cache) と呼ばれる、その共通の場所で各プログラムのコンポーネントを検索します。COM+ アプリケーションでは、この機構は、各コンポーネントのバージョンと物理的なファイル位置など、コンポーネントに関する情報が格納されているレジストリに大きく依存します。この方法では 1 つのコンポーネントを複数のアプリケーションによって共有できますが、同時に、アプリケーションと共にインストールしたコンポーネントによって、既にインストールされているコンポーネントが上書きされてしまう可能性もあり、場合によっては、他のアプリケーションが中断されることもあります。見かけ上、影響を与える側のアプリケーションは正常に動作しているため、多くの場合、中断された側のアプリケーションが実行されるまでは、このような問題を検出するのは難しく、共通ファイルを安定した構成設定に回復できない場合もあります。
参照
厳密な名前 | (5) コンポーネントのバージョン管理 | パッケージ化と配置の要約 | 付録 A: パッケージ化および配置の追加情報 | 付録 B: パッケージ化および配置用のツール