VS 2015 Release Management Tokenize XPath/регулярные выражения не работают

Я пытаюсь настроить замену токена для моих файлов конфигурации. У меня установлено имя исходного файла:

$(System.DefaultWorkingDirectory)/TFS Web Build 1.0/Corporate Art\app.RM.config

(Здесь файл RM представляет собой токенизированный файл конфигурации с использованием токена)

В качестве имени файла назначения задается истинное имя файла конфигурации:

Company.Client.Corporate.exe.config

У меня есть файл json на сервере сборки по адресу:

\0111-03-0555-01\c$\BuildFiles\Transforms.json

В файле transforms.json есть следующие данные:

[
{
"CompanyTestDomain": {"QA4"},
"Environment": {"QA4.com"},
"CheckForContext": {"true"},
"ServiceTierAppHost": {"0111-06-0555-00-01.Company.com"},
"ServiceTierCsHost": {"0111-03-0444-00.Company.com"},
"ReportServer": {"0777-02-0111-00-01.Company.com"},
"ReportID": {"systemID"},
"ReportDomain": {"Corp"},
"ReportPWord": {"Password"}
}
]

Powershell выполняется C:\Users\Public\Downloads\agent\tasks\Tokenizer\2.0.2\tokenize.ps1

Следующая строка серая, а не черная, как и вся остальная информация:

##[debug]Performing the operation "Copy File" on target "Item:
C:\Agent_work\85c7a0d97\TFS Web Build 1.0\CorporateArt\app.RM.config
Destination: C:\Users\Public\Downloads\agent\tasks\Tokenizer\2.0.2\Isagenix.Clients.CorporateBackOffice.exe.config.tmp".

после чего я начинаю получать сообщения о том, что он обновляет токен «CompanyTestDomain». Не найдено значение для токена «CompanyTestDomain».

Итак, может ли кто-нибудь помочь мне понять, что я делаю неправильно?


person JCollier    schedule 01.12.2016    source источник
comment
Используете ли вы управление выпусками через Интернет или через сервер? Какое задание вы использовали? Предоставьте подробные сведения об определении управления выпусками. Как насчет этой задачи: marketplace.visualstudio.com/   -  person starian chen-MSFT    schedule 05.12.2016
comment
Я использую веб-управление выпусками. Задача отмечена в заголовке поста: VS 2015 Release Management Tokenize XPath/Regular expressions По крайней мере, это название появляется. Я думаю, что это тот, на который вы ссылаетесь. У меня есть сборка, связанная с релизом. Единственная задача, которая у меня есть на данный момент, это одна задача. Что еще вы ищете с точки зрения информации об определениях?   -  person JCollier    schedule 06.12.2016
comment
Вы решаете эту проблему с помощью моего решения?   -  person starian chen-MSFT    schedule 12.12.2016


Ответы (1)


Содержимое конфигурационного файла должно быть таким (содержит раздел ConfigChanges)

Например:

Содержимое исходного файла:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
      <add key="TestKey1" value="__Token1__" />
      <add key="TestKey2" value="__Token2__" />
      <add key="TestKey3" value="__Token3__" />
      <add key="TestKey4" value="__Token4__" />
    </appSettings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
    </startup>
</configuration>

Содержимое файла конфигурации:

    {
  "Default Environment": {
    "CustomVariables": {
      "Token2": "value_from_custom2",
      "Token3": "value_from_custom3"
    },
    "ConfigChanges": [
      {
        "KeyName": "/configuration/appSettings/add[@key='TestKey1']",
        "Attribute": "value",
        "Value": "value_from_xpath"
      }
    ]
  }
}

Переменная в определении выпуска: Token4 t4

Результат:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="TestKey1" value="value_from_xpath" />
    <add key="TestKey2" value="value_from_custom2" />
    <add key="TestKey3" value="value_from_custom3" />
    <add key="TestKey4" value="t4" />
  </appSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
  </startup>
</configuration>

Дополнительную информацию вы можете найти в этих статьях (1 , 2< /а>).

person starian chen-MSFT    schedule 07.12.2016