2016-02-05 105 views
1

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

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

我可以检查哪些步骤以了解此扩展功能无效的原因?

在主应用程序配置中,我指定了一个appSetting。

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

在App.UAT.config我覆盖它

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

当我预览变换,或者建立检查配置输出,它总是使用非转换版本。该设置等于LOCAL。

+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)"你告诉处理器基础上,key属性add元素匹配,并在申请xdt:Transform="Replace"逻辑整个(位于)元素。

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

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

+0

谢谢安德烈亚斯,那工作 –

+0

@TomMcClean欢迎您! –