Практическое руководство. Поиск путей к выходным файлам развертывания в отчетах о развертывании
Обновлен: Ноябрь 2007
В 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> подкаталога или файла, то получится полный путь к этому подкаталогу или файлу.
![]() |
---|
Чтобы получился допустимый путь, то, возможно, потребуется добавить символы обратной косой черты в соответствующие позиции. |
Пример
В следующем примере показан элемент "Directory" для приложения Windows. В этом элементе содержатся элементы <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>
В следующем примере показан элемент "Directory" приложения Windows. Этот элемент описывает каталог проекта в заданном выходном расположении. В примере содержится элемент "Path" <Setting>. В данном элементе находятся элементы <Facet>, описывающие данные о пути для каталога проекта. Кроме того, в примере содержится элемент <Resource> для файла App.config, элемент "Path" <Setting> для него, и элементы <Facet> с описанием данных о пути для этого файла.
В приведенном примере полный путь к файлу App.config данного проекта Windows извлекается из двух местоположений.
Значение элемента "Assigned" <Facet> в элементе "Directory": "C:\My Documents\My Distributed System\Deployment".
Элемент "Current" <Facet> элемента <Resource> файла App.config: "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>
См. также
Основные понятия
Общие сведения о развертывании с помощью отчетов о развертывании
Ссылки
Общие сведения о ключевых разделах в отчетах о развертывании