配置转换 - 如何定位自身节点?

时间:2016-10-18 11:03:09

标签: .net visual-studio app-config

我已转换App.config上生成的文件,我想删除一个属性。

的App.config

<configuration>
    <appSettings file="App.private.config">
        <add key="RestorePoint" value="1298640.0" />
        <add key="ReleaseType" value="Test" />
    </appSettings>
</configuration>

App.release.config

<configuration>
    <appSettings file="" xdt:Transform="Remove" xdt:Locator="Match(.)>
        <add key="ReleaseType" value="" xdt:Transform="Remove" xdt:Locator="Match(key)"/>
    </appSettings>
</configuration>

我想要实现的目标是从file节点中删除appSettings属性,并从设置中完全删除ReleaseType。如果我在删除ReleaseType方面没有任何问题,则无法删除file属性。您有什么想法可以实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings file="" xdt:Transform="RemoveAttributes(file)" xdt:Locator="XPath(.)">
        <add key="ReleaseType" value="" xdt:Transform="Remove" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>

我shoudl使用xdt:Locator="XPath(.)"xdt:Transform="RemoveAttributes(file)"而不是设置空值。