2016-02-05 140 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歡迎您! –