1

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

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

我可以检查哪些步骤来查看为什么此扩展程序不起作用?

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

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

在 App.UAT.config 我覆盖它

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

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

4

1 回答 1

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逻辑。keyxdt:Transform="Replace"

一个关于可能的 XML 转换的 msdn 条目,它也适用于 SlowCheetah 转换,因为它们基于相同的“技术”。

此外,扩展概述中还有一些很好的文档!

于 2016-02-05T15:20:27.640 回答