次の方法で共有


分離アプリケーションおよび side-by-side アセンブリの概念

アプリケーションのコンポーネントがすべて side-by-side アセンブリである場合、そのアプリケーションは分離アプリケーションと見なされます。隣り合わせのアセンブリは、実行時に使用するアプリケーションの利用可能に一緒に配置されるインターフェイス。DLL リソースのコレクションのグループ、ウィンドウ クラス、COM サーバー、タイプ ライブラリ、またはです。通常、side-by-side アセンブリは 1 つまたは複数の DLL です。

共有またはプライベート

side-by-side アセンブリには、共有またはプライベートの 2 種類があります。共有アセンブリの隣り合わせ は、マニフェストには、アセンブリへの依存を指定する複数のアプリケーションで使用される場合があります。隣り合わせのアセンブリの複数のバージョンが同時に実行されている別のアプリケーションによって共有できます。プライベート アセンブリ は、そのアプリケーション排他使用するアプリケーションとともに配置されるアセンブリです。プライベート アセンブリは、アプリケーションのサブフォルダーの実行可能ファイルまたは 1 を含むフォルダーにインストールされます。

マニフェストと検索順序

両方の分離アプリケーションと隣り合わせのアセンブリは マニフェストによって記述されます。マニフェストが外部ファイルの場合もある場合、またはアプリケーションまたはアセンブリにリソースとして埋め込むことができる XML ドキュメントです。分離アプリケーションのマニフェスト ファイルは、アプリケーションが実行時にバインドする共有 side-by-side アセンブリの名前およびバージョンの管理に使用されます。side-by-side アセンブリのマニフェストは、side-by-side アセンブリの名前、バージョン、リソース、および依存アセンブリを指定します。共有隣り合わせのアセンブリの場合、マニフェストは %WINDIR%\WinSxS\Manifests\フォルダーにインストールされます。プライベート アセンブリの場合は、1.と同じ ID を持つリソースとして DLL にマニフェストを含めることをお勧めします。また、DLL の名前とプライベート アセンブリに同じ名前を付けることができます。詳細については、「プライベート アセンブリ」を参照してください。

実行時に、Windows は、対応する隣り合わせのアセンブリを検索して読み込むには、アプリケーション マニフェストからのアセンブリ情報を使用します。分離アプリケーションがアセンブリの依存関係を指定すると、オペレーティング システムは %WINDIR%\WinSxS\フォルダーのネイティブ アセンブリ キャッシュの共有アセンブリからそのアセンブリを検索します。要求されたアセンブリが見つからない場合、オペレーティング システムは、アプリケーションのディレクトリ構造のフォルダーのプライベート アセンブリを検索します。詳細については、「Assembly Searching Sequence」を参照してください。

依存関係の変更

アプリケーションの後の依存関係が [publisher configuration files]アプリケーション構成ファイルの変更によって抽出された隣り合わせのアセンブリを変更できます。発行者構成ファイル (発行者ポリシー ファイルは、同じアセンブリの別のバージョンを使用してグローバルに隣り合わせのアセンブリの 1 種類のバージョンの使用からアプリケーションおよびアセンブリのリダイレクトする XML ファイルです。たとえば、バグ修正またはセキュリティ修復が隣り合わせのアセンブリに配置され、最終バージョンを使用するすべてのアプリケーションをリダイレクトすると、依存関係を変更できます。アプリケーション構成ファイルは、同じアセンブリの別のバージョンを使用して隣り合わせのアセンブリの 1 種類のバージョンの使用から特定のアプリケーションをリダイレクトする XML ファイルです。発行者構成ファイルで定義されたものとは異なる隣り合わせのバージョンのアセンブリを使用して特定のアプリケーションをリダイレクトするには、アプリケーション構成ファイルを使用できます。詳細については、「構成」を参照してください。

Visual C++ のライブラリ

Visual Studio 2005 および Visual Studio 2008 では、ATL など、再頒布可能ライブラリ、MFC、CRT および標準 C++、OpenMP、MSDIA、ネイティブ アセンブリ キャッシュへの共有隣り合わせのアセンブリとして配置されます。Visual Studio 2010 および Visual Studio 2012 では、再頒布可能ライブラリは、集中配置を使用します。既定では、Visual C++ でビルドされたアプリケーションはすべて、最終的な binary に埋め込まれたマニフェストとアプリケーション マニフェストについて説明します。Visual C++ ライブラリの binary の依存関係をビルドします。Visual C++ アプリケーションのマニフェストの生成については、C/C++ プログラムのマニフェスト生成についての理解 を参照してください。マニフェストは、使用するか、ローカル配置を使用するライブラリに静的にリンクするアプリケーションは要求されません。配置の詳細については、「Visual C++ 2010 での配置」を参照してください。

参照

その他の技術情報

C/C++ 分離アプリケーションおよび side-by-side アセンブリのビルド