分離アプリケーションと Side-by-side アセンブリについて

分離アプリケーションside-by-side アセンブリ は、 DLL のバージョン管理の競合を軽減するソリューションを提供します。 これにより、アプリケーションはアセンブリを安全に共有できます。 詳細については、「 共有アセンブリ」を参照してください。

アセンブリは、プログラミングコードのブロックの名前付け、バインド、バージョン管理、配置、または構成を行うための基本単位です。 共通の機能を持つアプリケーションでは、モジュールまたはコードアセンブリと呼ばれる、プログラミングコードの共有ブロックを実行できます。 これらのコードアセンブリは、Dll または COM アセンブリに配置できます。 アセンブリを安全に共有するためのインフラストラクチャは、side-by-side アセンブリ共有と呼ばれます。

Side-by-side アセンブリ は、 マニフェスト によって記述されるコードアセンブリであり、複数のバージョンが互いに競合することなく同時に実行されるように作成されています。 開発者がマニフェストを作成し、 side-by-side アセンブリ共有を使用するアプリケーションを作成する場合、システムで複数のアセンブリバージョンを実行し、各アプリケーションで使用するアセンブリバージョンを指定できます。

一般的な side-by-side アセンブリ は、1つのマニフェストを持つ単一の DLL です。 Side-by-side アセンブリは、従来はレジストリに保存されていたバインディングと COM アクティブ化に関する情報をマニフェストに格納します。 場合によっては、マニフェストで指定されたアセンブリのバージョンを、アセンブリの発行元、アプリケーション開発者、または管理者がグローバルまたはアプリケーションごとに変更できます。 詳細については、「 既定の構成」、「 パブリッシャーの構成」、および「 アプリケーションごとの構成」を参照してください。

開発者は、Microsoft によって提供される side-by-side アセンブリ、またはその他の side-by-side アセンブリパブリッシャーをアプリケーションで使用できます。 たとえば、開発者は、Comctl32.dll 6.0 を含むサイドバイサイドアセンブリを使用するようにアプリケーションを設計することで、テーマなどの更新されたコモンコントロールの機能を取得できます。 Windows XP に付属するサイドバイサイドアセンブリおよびマニフェストの一覧については、「サポートされている Microsoft side-by-side アセンブリ」を参照してください。 開発者は、独自の side-by-side アセンブリを作成することもできます。 詳細については、「 Side-by-side アセンブリを作成するためのガイドライン」を参照してください。