方法 : 配置レポートで配置出力ファイルのパスを見つける
更新 : 2007 年 11 月
XML 形式の配置レポートでは、配置出力場所に作成されたディレクトリ構造の情報を確認できます。このディレクトリ構造は、配置レポートの生成時、配置に必要なアプリケーション ファイルをその場所にコピーできるように作成されます。したがって、この情報を使って各アプリケーション ファイルのパスを取得できます。詳細については、「配置レポートのアプリケーション情報」および「配置出力ファイルの場所とディレクトリ構造」を参照してください。
アプリケーションのディレクトリまたはファイルの完全パスを取得するには
XML 形式の配置レポートを開きます。
<Applications> 要素からアプリケーションに対応する <Application> 要素を探し、"Directory" という名前の <Resource> 要素を見つけます。
"Directory" 要素から、"Path" という名前の <Setting> 要素を探し、"Assigned" という名前の <Facet> 要素を見つけます。
"Directory" 要素の下には、一連の <Resource> 要素が存在します。これらの要素は、そのアプリケーション用にディスク上に作成されたディレクトリと、そこにコピーされたファイルを表しています。
アプリケーション ディレクトリのパスを取得するには、"Assigned" 要素の値を取得します。
ヒント : "Assigned" 要素の値は、配置レポートの Destination Path プロパティによって指定されます。このプロパティを確認するには、配置ダイアグラムのサーフェイスを右クリックして、[プロパティ] をクリックします。配置ダイアグラムのサーフェイスをクリックし、F4 キーを押してもかまいません。
"Directory" 要素から、各サブディレクトリまたはファイルの <Resource> 要素を探し、"Current" という名前の <Facet> 要素を見つけます。
ヒント : それぞれの <Resource> 要素は、その要素がディレクトリを表すのかファイルを表すのかを識別する "Extends" 属性を持ちます (ディレクトリの場合は "Microsoft_FileSystem:Directory"、ファイルの場合は "Microsoft_FileSystem:File")。さらに、ファイルの <Resource> 要素では、ファイル名に含まれる空白やピリオドは省略されます。
アプリケーション ディレクトリから、そのサブディレクトリまたはファイルへのパスを取得するには、"Current" 要素の値を取得します。
"Directory" 要素から取得したパスと、サブディレクトリまたはファイルの <Resource> 要素から取得したパスとを組み合わせることにより、そのサブディレクトリまたはファイルの完全パスを得ることができます。
メモ : |
---|
有効なパスを生成するには、適宜、円記号 (\) を追加する必要があります。 |
使用例
次の例には、Windows アプリケーションの "Directory" 要素が含まれています。この要素には、出力場所に作成されたディレクトリと、その場所にコピーされたファイルを表す <Resource> 要素が存在します。
<Resource Name="Directory" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory" Extends="Microsoft_FileSystem:Directory" InstanceId="5badb907-1e78-4da7-8da1-2857288489e0">
...
<Resource Name="MyProject" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.DirectoryResource" Extends="Microsoft_FileSystem:Directory" InstanceId="a7e6a8d8-a961-4cb3-8ed2-31ac0824581a">
<Resource Name="WebReferences" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.DirectoryResource1" Extends="Microsoft_FileSystem:Directory" InstanceId="52204baa-4dd7-4084-8ba7-e4fb6f13694d">
<Resource Name="MyWinAppDefinitionvbproj" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.FileResource4" Extends="Microsoft_FileSystem:File" InstanceId="d0816ea3-d101-4010-9845-203d97af1d38">
...
<Resource Name="Form1Designervb" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.FileResource3" Extends="Microsoft_FileSystem:File" InstanceId="b0d70dc9-4959-424e-b133-601c00a8451c">
...
<Resource Name="appconfig" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.FileResource" Extends="Microsoft_FileSystem:File" InstanceId="0c34fdf7-84e0-42a6-baf3-d726d3fd5660">
...
<Resource Name="Form1vb" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.FileResource2" Extends="Microsoft_FileSystem:File" InstanceId="75133b44-295c-40f6-8033-20817d8c8b30">
...
<Resource Name="MyWinAppDefinitionsdm" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.FileResource1" Extends="Microsoft_FileSystem:File" InstanceId="aca72d6e-6f4b-47f9-b760-73de03bee50c">
...
</Resource>
次の例には、Windows アプリケーションの "Directory" 要素が含まれます。この要素は、指定された出力場所のプロジェクト ディレクトリを表します。この例には、さらに、"Path" という名前の <Setting> 要素も存在します。この要素には、対応するプロジェクト ディレクトリのパス情報を表す <Facet> 要素が存在します。他にも、App.config ファイルの <Resource> 要素と、そのファイルに対応する "Path" という名前の <Setting> 要素、および、そのファイルのパス情報を表す <Facet> 要素が存在しています。
この例では、Windows プロジェクトの App.config ファイルの完全パスを次の 2 か所から取得できます。
"Directory" 要素下にある "Assigned" という名前の <Facet> 要素の値 ("C:\My Documents\My Distributed System\Deployment")
App.config ファイルの <Resource> 要素にある "Current" という名前の <Facet> 要素 ("MyWinAppDefinition\app.config")
したがって、これらの 2 つのパスを円記号 (\) で結合すると、App.config ファイルの完全パス "C:\My Documents\My Distributed System\Deployment\MyWinAppDefinition\app.config" を得ることができます。
メモ : |
---|
App.config ファイルの名前は、配置時に MyApplicationName.exe.config に変更する必要があります。詳細については、「配置出力ファイルの場所とディレクトリ構造」を参照してください。 |
<Resource Name="Directory" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory" Extends="Microsoft_FileSystem:Directory" InstanceId="5badb907-1e78-4da7-8da1-2857288489e0">
<Setting Name="Path" Definition="Microsoft_FileSystem:Path">
<Facet Name="Assigned" Definition="Microsoft_FileSystem:Path" State="Set"><Value>C:\My Documents\My Distributed System\Deployment</Value></Facet>
<Facet Name="Parent" Definition="Microsoft_FileSystem:Path" State="Set" Null="true" />
<Facet Name="Current" Definition="Microsoft_FileSystem:Path" State="Set">
<Value>MyWinAppDefinition</Value>
</Facet>
</Setting>
...
<Resource Name="appconfig" Definition="MyWinAppDefinition:MyWinAppDefinition.Directory.FileResource" Extends="Microsoft_FileSystem:File" InstanceId="ad03d65a-9075-4822-b3f9-2fad1fba0a4f">
...
<Setting Name="Path" Definition="Microsoft_FileSystem:Path">
<Facet Name="Assigned" Definition="Microsoft_FileSystem:Path" State="Set" Null="true" />
<Facet Name="Parent" Definition="Microsoft_FileSystem:Path" State="Set">
<Value>MyWinAppDefinition</Value>
</Facet>
<Facet Name="Current" Definition="Microsoft_FileSystem:Path" State="Set"><Value>MyWinAppDefinition\app.config</Value></Facet>
</Setting>
</Resource>
...
</Resource>