vs 2015发行管理XPath/正则表达式无效



我正在尝试为我的配置文件设置令牌替换。我将源文件名设置为:

$(System.DefaultWorkingDirectory)/TFS Web Build 1.0/Corporate Artapp.RM.config

(在这里,RM文件是使用令牌的令牌化配置文件)

目标文件名设置为配置文件的真实名称:

Company.Client.Corporate.exe.config

我在构建服务器上有JSON文件:

111-03-0555-01c$BuildFilesTransforms.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:UsersPublicDownloadsagenttasksTokenizer2.0.2tokenize.ps1

下一行是灰色的,而不是黑色,所有其他信息是:

##[debug]Performing the operation "Copy File" on target "Item:
C:Agent_work85c7a0d97TFS Web Build 1.0CorporateArtapp.RM.config
Destination: C:UsersPublicDownloadsagenttasksTokenizer2.0.2Isagenix.Clients.CorporateBackOffice.exe.config.tmp".

之后,我开始收到它正在更新令牌'CompanyTestDomain'的消息没有找到令牌的" CompanyTestDomain"

的价值

那么,有人可以帮我找出我在做什么错吗?

配置文件的内容应该像这样(包含一个部分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)。

相关内容

最新更新