温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - Dynamically creating the config file by using tokenized file
c# tfs web-config config app-config

c# - 通过使用标记化文件动态创建配置文件

发布于 2020-04-11 12:33:02

在我们的开发过程中,我们正在使用TFS的CI / CD工具。为了为不同的机器创建配置文件,我们使用了以下工具:XDT转换和替换令牌因此,通过使用这些工具,我们可以转换样本配置文件=>用于特定机器的配置文件

例如:

这些


    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <Param name="par_1" scenario="123" value =""/>
      </configuration>

转换为


    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <Param name="par_1" scenario="123" value ="token_value"/>
      </configuration>

通过将这些标记化文件与预加载的标记#{test}#一起使用= = token_value


<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
        <Param name="par_1" scenario="123" value ="#{test}#" xdt:Transform="SetAttributes(value)" xdt:Locator = "Match(name, scenario)"/>
</configuration>


问题是:不仅可以转换属性,还可以转换文本值吗?

例:

<Param name="par2">TEST</Param>

我可以使用那些工具来转换文本值测试吗?

查看更多

提问者
David Naik
被浏览
58
Leo Liu-MSFT 2020-02-03 13:34

通过使用标记化文件动态创建配置文件

答案是肯定的。

作为对“ 替换令牌”任务的测试,我在web.config文件中添加了以下代码

</configuration>
  <Param name="par2">#{Test}#</Param>
</configuration>

然后在变量中添加test具有测试值123的变量:

在此处输入图片说明

然后使用“替换令牌”任务替换#{Test}#

测试结果:

<Param name="par2">123</Param>

因此,您不仅可以转换属性,还可以转换文本值。

希望这可以帮助。