XML转换不起作用

时间:2016-02-05 15:02:06

标签: slowcheetah xdt-transform

我已将SlowCheetah扩展程序和Nuget Package安装到我的Console App Project中。我已使用上下文菜单添加UAT构建配置并更新了测试设置以检查值是否正在转换。

不幸的是,当我尝试通过上下文菜单预览变换时,它只显示我未转换的App.Config。

我可以检查哪些步骤以查看此扩展程序无效的原因?

在主App Config中,我指定了一个appSetting。

<appSettings>
    <add key="TomTestTransform" value="LOCAL" />
</appSettings>

在App.UAT.config中我覆盖它

<appSettings>
    <add key="TomTestTransform" value="UAT" />
</appSettings>

当我预览Transform,或构建并检查配置输出时,它总是使用非转换版本。设置等于LOCAL。

1 个答案:

答案 0 :(得分:2)

您需要使用xdt:属性来匹配和调整元素,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations 
 see the web.comfig examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="TomTestTransform"
         value="UAT"
         xdt:Transform="Replace"
         xdt:Locator="Match(key)" />
  </appSettings>
</configuration>

使用xdt:Locator="Match(key)",您告诉处理器根据add属性匹配key元素,并在整个(位于)元素上应用xdt:Transform="Replace"逻辑。 / p>

可用的XML转换有a msdn entry,它也适用于SlowCheetah转换,因为它们基于相同的“技术”。

此外,extension overview还有一些很好的文档!