更新: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 檔案的完整路徑:
"Directory" 項目下的 "Assigned" <Facet> 項目值:"C:\My Documents\My Distributed System\Deployment"。
App.config 檔案 <Resource> 項目的 "Current" <Facet> 項目:"MyWinAppDefinition\app.config"。
因此,使用反斜線符號 (\) 結合這兩個路徑會產生 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>