如何转换此web.config节
本文关键字:web config 转换 何转换 | 更新日期: 2023-09-27 18:06:23
我的邮件有以下配置:
<system.net>
<mailSettings>
<smtp from="foo@bar.com" deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:/test"/>
<network host="localhost" userName="" password=""/>
</smtp>
</mailSettings>
</system.net>
这是我的。发布版本:
<system.net>
<mailSettings>
<smtp from="foo@bar.com" xdt:Transform="RemoveAttributes(deliveryMethod)">
<network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" />
</smtp>
</mailSettings>
</system.net>
如何删除
<specifiedPickupDirectory pickupDirectoryLocation="C:/test"/>
所以它没有显示在我的。释放吗?
此外,我想完全删除其他名称空间,如System.Diagnostics
。这样做的语法是什么?
对于specifiedPickupDirectory
元素,这应该有效:
<specifiedPickupDirectory xdt:Transform="RemoveAll" />
。
用于系统诊断:
<system.diagnostics xdt:Transform="RemoveAll"></system.diagnostics>
<system.net>
<mailSettings>
<smtp from="foo@bar.com" xdt:Transform="Replace">
<network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" />
</smtp>
</mailSettings>
</system.net>
这将用你的替换整个标签。。希望这就是你想要的。。
这样做的好处是,您最终不会用不必要的remove命令污染您的transform-config,比如这里所说的一些答案。。
考虑有多个子标签的情况。。
与其尝试从发布版本中删除配置,不如将其从基本版本中删除并添加到.Debug版本中?这可能更简单。但是,如果你想删除它,我认为你可以使用<specifiedPickupDirectory xdt:Transform="Remove"/>
或类似的东西。
@katit,您应该为dev和release维护两个不同的配置。
您的webconfig应该是动态的,并采用如下所示的配置
/qa/yoursettings.config
/release/yoursettings.config
再来一个样品
<connectionStrings configSource="config'qa'connectionStrings.config"/>
当您转到qa或发布时,相应地切换web.config。
这样它会更干净。