0

假设我有一个这样的 Web.config:

<configuration>
    <elmah>
        ...
    </elmah>
</configuration>

是否可以使用配置转换删除 <elmah> 节点?到目前为止,我已经尝试过类似的东西:

<configuration>
    <elmah xdt:Transfrom="RemoveAll"/>
</configuration>

哪个不起作用(根据预览变换)。尽管这种类型的东西似乎确实适用于其他节点。有谁知道如何删除它?

谢谢

4

2 回答 2

1

你的xdt语法有错别字——应该是xdt:Transform,而不是xdt:Transfrom

于 2012-11-09T17:18:56.370 回答
1

您需要有一个xdt:Locator才能获得匹配。

尝试使用以下内容:

调试:

<configuration>
    <elmah name="debug" />       
</configuration>

释放:

 <configuration>
        <elmah name="debug" xdt:Locator="Match(name)" xdt:Transform="RemoveAll" />      
    </configuration>

或者不需要名称匹配:

 <configuration>
            <elmah name="debug" xdt:Locator="XPath(//elmah)" xdt:Transform="RemoveAll" />      
        </configuration>

或者

 <configuration>
            <elmah name="debug" xdt:Locator="XPath(configuration/elmah)" xdt:Transform="RemoveAll" />      
        </configuration>

作为说明:

目前,Web.config转换仅在 Publish 上的 Web Publish Pipeline (WPP) 期间应用,而不是在调试期间应用,以便在调试期间启用它们,请检查以下链接:http ://sedodream.com/2010/10/21/ ASPNETWebProjectsWebdebugconfigWebreleaseconfig.aspx

希望能帮助到你。

于 2012-11-09T17:22:46.977 回答