在我们的开发过程中,我们正在使用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>
我可以使用那些工具来转换文本值测试吗?
通过使用标记化文件动态创建配置文件
答案是肯定的。
作为对“ 替换令牌”任务的测试,我在web.config
文件中添加了以下代码:
</configuration>
<Param name="par2">#{Test}#</Param>
</configuration>
然后在变量中添加test
具有测试值123
的变量:
然后使用“替换令牌”任务替换#{Test}#
:
测试结果:
<Param name="par2">123</Param>
因此,您不仅可以转换属性,还可以转换文本值。
希望这可以帮助。
是的,但是如果我想使用此属性
xdt:Locator = "Match(name, scenario)" xdt:Transform="SetAttributes(value)"
来查找要更改的参数,我 应该在Transform中添加什么?@DavidNaik,您的意思是您想使用
xdt:Locator = "Match(name, scenario)" xdt:Transform="SetAttributes(value)"
查找中的文本值<Param name="par2">TEST</Param>
吗?我对吗?如果可以,恐怕不会。如果没有,可以请您给我一个简单的示例,说明您的工作吗?是的,你是对的。这就是整个问题:)感谢您的帮助!