配置出力ファイルの場所とディレクトリ構造
更新 : 2007 年 11 月
配置レポートを生成する前に、配置を予定しているアプリケーションに関連したソース、コンテンツ、およびバイナリ ファイルのコピー先となる場所を指定できます。場所を指定することにより、配置に必要なファイルを容易に特定して収集できます。この配置出力場所は、配置レポートを生成する配置ダイアグラムの Destination Path プロパティを使って指定できます。詳細については、「方法 : 配置レポートを生成する」を参照してください。
配置出力ファイルの場所とディレクトリ構造の概要
配置レポートを生成すると、ディスク上のメイン ソリューション フォルダに、HTML 形式および XML 形式のレポートが保存されます。ソリューション エクスプローラでは、配置レポートは、その生成に用いたシステム ダイアグラムや配置ダイアグラムの作成場所であるシステム フォルダに表示されます。
配置レポート内の各実装アプリケーションについて、指定された出力場所にプロジェクト ディレクトリが作成されます。個々のプロジェクト ディレクトリは、ソリューション エクスプローラにおけるアプリケーションのプロジェクト階層と似ています。ただし、このディレクトリは、ソリューション エクスプローラにおけるプロジェクト名ではなく、ディスク上のプロジェクト フォルダ名に基づいて作成されます。また、これらのプロジェクト フォルダの親フォルダは、作成されるディレクトリ構造には含まれません。詳細については、「方法 : 配置レポートで配置出力ファイルのパスを見つける」を参照してください。
注意 : |
---|
ディスク上のプロジェクトとそのフォルダの名前が必ず一意になるようにしてください。ソリューション エクスプローラでこれらのプロジェクトに異なる名前が付いていたり、ディスク上のフォルダに異なる親フォルダが存在していたとしても、それだけでは不十分です。ソリューション エクスプローラでプロジェクト名を変更しても、対応するアセンブリ名やディスク上でのフォルダ名は変更されません。たとえば、ソリューション エクスプローラで Windows プロジェクトの名前を "MyGeneratedName" から "MyRenamedProject" に変更した場合、そのプロジェクトは、"MyRenamedProject.exe" ではなく "MyGeneratedName.exe" としてコンパイルされます。また、そのプロジェクトのディスク上におけるフォルダ名は "MyGeneratedName" のままとなり、出力場所には "MyGeneratedName" という名前のディレクトリが作成されます。ディスク上で同じフォルダ名となるような複数のプロジェクトがソリューションに含まれていた場合、親フォルダが異なっていたとしても、同じ名前を共有するこれらのプロジェクトに対して作成されるディレクトリは 1 つだけです。コピー先のディレクトリが 1 つであるため、プロジェクトの配置出力ファイルが、同じ名前の他のプロジェクトの配置出力ファイルによって上書きされてしまう可能性があります。 |
HTML 形式と XML 形式の配置レポートには、指定場所に作成されたプロジェクト ディレクトリと、その場所にコピーされたファイルが記録されます。したがって、ターゲット コンピュータに対してインストールする必要のあるファイルは、配置レポートを使って判別できます。一般には、バイナリ ファイル (アプリケーションの DLL、実行可能ファイルなど)、Web サービスの .asmx ファイル、Web コンテンツ ファイル (.aspx ファイル、マスター .cs ファイル、.css スタイル シート ファイルなど)、構成ファイル (Web.config、App.config など) が含まれます。詳細については、「配置レポートのアプリケーション情報」を参照してください。
指定場所に作成されるプロジェクト ディレクトリは、アプリケーションの種類によって異なります。この点について、次のセクションで詳しく説明します。
Deployment Output Directory Structure for ASP.NET Applications
Deployment Output Directory Structure for Windows and Office Applications
配置出力ディレクトリ構造 (ASP.NET アプリケーションの場合)
指定された出力場所に作成されるディレクトリには、ASP.NET アプリケーションに関連付けられたエンドポイントに応じて次のディレクトリが格納されます。
App_Code フォルダ
アプリケーションが 1 つ以上の Web サービス プロバイダ エンドポイントを公開している場合、このディレクトリにはその Web サービスの分離コード ファイルが格納されます。
App_WebReferences フォルダ
1 つ以上の Web サービスを利用したアプリケーションの場合、このディレクトリには、"\ApplicationName\WebServiceProxies" という別のディレクトリが格納されます。ここには、対応する Web サービスの .discomap ファイルおよび .wsdl ファイルが格納されます。
Bin フォルダ
1 つ以上の Web コンテンツ プロバイダ エンドポイントを公開するアプリケーションの場合、このディレクトリには、アプリケーションの DLL、アセンブリ、関連するマニフェスト ファイル、実行可能ファイルなどが格納されます。
Images フォルダ
Web コンテンツ プロバイダ エンドポイントを公開するアプリケーションの一部としてイメージ ファイルが含まれている場合は、このディレクトリにイメージ ファイルが格納されます。
最上位のディレクトリには、アプリケーション構成ファイルである Web.config のほか、.asmx、.aspx、.aspx.cs、.master、.master.cs、.css など、あらゆるコンテンツ ファイルが格納されます。
配置出力ディレクトリ構造 (Windows アプリケーションおよび Office アプリケーションの場合)
Windows アプリケーションまたは Office アプリケーションの場合、指定された出力場所に作成されるプロジェクト ディレクトリには、"Bin" ディレクトリが存在します。この "Bin" ディレクトリには、配置レポートを生成したときのソリューションのビルド構成に応じて、"Debug" ディレクトリまたは "Release" ディレクトリが格納されます。これらのディレクトリには、アプリケーションのアセンブリ、関連するマニフェスト ファイル、実行可能ファイルなどが格納されます。また、1 つ以上の Web サービスおよび App.config アプリケーション構成ファイルを利用するアプリケーションの場合、プロジェクト ディレクトリには、さらに "Web References" というディレクトリが格納されます。
メモ : |
---|
Windows アプリケーションの場合、配置レポートを生成すると、アセンブリのマニフェストである AssemblyName.dll.manifest (または AssemblyName.exe.manifest) が、そのアセンブリと同じディレクトリにコピーされます。ただし、アプリケーションの構成ファイルは MyApplicationName.exe.config ではなく App.config という名前で、アプリケーションのディレクトリに格納されます。実行時に構成ファイルが Windows によって検出され、読み込まれるようにするには、配置プロセスで App.config ファイルをアプリケーションの実行可能ファイルまたは DLL ファイルの場所にコピーし、名前を App.config から MyApplicationName.exe.config に変更する必要があります。 |