次の方法で共有


プライベート アセンブリについて

プライベート アセンブリは、アプリケーションと共に配置され、そのアプリケーションを排他的に使用できるアセンブリです。 つまり、他のアプリケーションはプライベート アセンブリを共有しません。 プライベート アセンブリは、 分離されたアプリケーションを作成するために使用できるメソッドの 1 つです。 詳細については、「 分離アプリケーションとサイド バイ サイド アセンブリについて」を参照してください。

プライベート アセンブリは、システム上のアセンブリの他のバージョンと並行して動作するように設計する必要があります。 詳細については、「 Side-by-side アセンブリを作成するためのガイドライン」を参照してください。

プライベート アセンブリには、 アセンブリ マニフェストを添付する必要があります。 WINDOWS がプライベート アセンブリを検索する方法に対応するために、DLL をプライベート アセンブリとしてパッケージ化する場合は、名前の制限が適用されることに注意してください。 プライベート アセンブリを検索するときは、DLL にアセンブリ マニフェストをリソースとして含める方法をお勧めします。 この場合、リソース ID は 1 である必要があり、プライベート アセンブリの名前は DLL の名前と同じである場合があります。 たとえば、DLL の名前がMICROSOFT.WINDOWS.MYSAMPLE.DLL場合、マニフェストの assemblyIdentity 要素で使用される name 属性の値も Microsoft.Windows.mysample になります。 プライベート アセンブリを検索する別の方法は、アセンブリ マニフェストを別のファイルに提供することです。 この場合、アセンブリとそのマニフェストの名前は DLL の名前と異なる必要があります。 たとえば、Microsoft.Windows.mysampleAsm、Microsoft.Windows.mysampleAsm.manifest、Microsoft.Windows.mysample.dll。 プライベート アセンブリのサイド バイ サイド検索の詳細については、「 アセンブリ検索シーケンス」を参照してください。

プライベート アセンブリは、アプリケーションのディレクトリ構造のフォルダーにインストールされます。 通常、これはアプリケーションの実行可能ファイルを含むフォルダーです。 プライベート アセンブリは、アプリケーションと同じフォルダー、アセンブリと同じ名前のフォルダー、またはアセンブリと同じ名前の言語固有のサブフォルダーに配置できます。 たとえば、次のいずれかのディレクトリ構造を使用して、言語が指定されていないプライベート アセンブリ Microsoft.tools.pop を展開します。

ディレクトリの構造 説明
APPDIR\MICROSOFT.TOOLS.POP.DLL マニフェストは、DLL 内のリソースとしてデプロイされます。
Appdir\Microsoft.Tools.Pop.MANIFEST マニフェストは別のファイルとして配置されます。
APPDIR\MICROSOFT.TOOLS.POP\MICROSOFT.TOOLS.POP.DLL マニフェストは、アセンブリの名前を持つサブフォルダーにある DLL 内のリソースとしてデプロイされます。
Appdir\Microsoft.Tools.Pop\Microsoft.Tools.Pop.MANIFEST マニフェストは、アセンブリの名前を持つサブフォルダーに別のファイルとして配置されます。

 

重要

Windows 7 および Windows Server 2008 R2 より前のバージョンの Windows オペレーティング システムの場合は、アプリケーションの実行可能ファイルを含むフォルダーにネイティブ プライベート アセンブリを展開する必要があります。 言語固有のフォルダーまたはアセンブリと同じ名前のフォルダーへのインストールは、ネイティブ プライベート アセンブリではサポートされていません。

 

次のいずれかのディレクトリ構造を使用して、指定した言語でプライベート アセンブリ Microsoft.tools.pop を展開します。 次の例では、Microsoft.Tools.Pop で使用される言語は英語 (米国) で、言語コードは en-us です。 アセンブリの正しい DHTML 言語コードを置き換える必要があります。

appdir\en-us\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop.MANIFEST
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.MANIFEST

プライベート アセンブリは、 xcopy コマンドなど、アセンブリのファイルをこのフォルダーにコピーできる任意のインストール方法でインストールできます。 Windows インストーラーを使用してプライベート アセンブリをインストールする方法の詳細については、「 Win32 アセンブリのインストール」を参照してください。

プライベート アセンブリは、Windows XP より前のオペレーティング システムにもインストールできます。 この場合、アセンブリを登録する必要があり、これらのオペレーティング システムではマニフェストは使用されません。 プライベート アセンブリのコピーは、アプリケーションを排他的に使用するためにプライベート フォルダーにインストールされます。 アセンブリの別のバージョンをシステムにグローバルに登録し、それにバインドする任意のアプリケーションで使用できます。 アセンブリのグローバル バージョンとして使用できるのは、アプリケーションと共にインストールされるバージョンまたはそれより前のバージョンです。 詳細については、「 Windows での DLL/COM リダイレクト」を参照してください。 アセンブリは、複数のアプリケーションで使用する共有アセンブリとしてインストールすることもできます。 詳細については、「 共有アセンブリ」を参照してください。

プライベート アセンブリを作成する手順は、次の 2 つの例外を除いて共有アセンブリを作成する手順と同じであることに注意してください。

  • プライベート アセンブリは署名する必要はありません。また、アセンブリ マニフェストの assemblyIdentity 要素では publickeyToken は必要ありません。
  • プライベート アセンブリは、任意のインストール テクノロジを使用してアプリケーションのフォルダーにインストールできます。 プライベート アセンブリは、Windows インストーラーを使用してインストールする必要はありません。