Ответ 1
Для элемента specifiedPickupDirectory
это должно работать:
<specifiedPickupDirectory xdt:Transform="RemoveAll" />
.
Для System.Diagnostics:
<system.diagnostics xdt:Transform="RemoveAll"></system.diagnostics>
У меня есть следующая конфигурация для моей почты:
<system.net>
<mailSettings>
<smtp from="[email protected]" deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:/test"/>
<network host="localhost" userName="" password=""/>
</smtp>
</mailSettings>
</system.net>
Это моя версия .Release:
<system.net>
<mailSettings>
<smtp from="[email protected]" xdt:Transform="RemoveAttributes(deliveryMethod)">
<network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" />
</smtp>
</mailSettings>
</system.net>
Как удалить
<specifiedPickupDirectory pickupDirectoryLocation="C:/test"/>
поэтому он не отображается в моем .Release вообще?
Кроме того, я хотел бы полностью удалить другие пространства имен, такие как System.Diagnostics
. Каков синтаксис для этого?
Для элемента specifiedPickupDirectory
это должно работать:
<specifiedPickupDirectory xdt:Transform="RemoveAll" />
.
Для System.Diagnostics:
<system.diagnostics xdt:Transform="RemoveAll"></system.diagnostics>
<system.net>
<mailSettings>
<smtp from="[email protected]" xdt:Transform="Replace">
<network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" />
</smtp>
</mailSettings>
</system.net>
Это заменит весь тэг вашим.. надеюсь, это то, что вы ищете..
Хорошая вещь об этом заключается в том, что вы dnt в конечном итоге загрязняете свою конфигурацию преобразования ненужными командами удаления, например, некоторые из ответов, изложенных здесь.
рассмотрим случай, когда у вас более одного дочернего тега.
Вместо того, чтобы пытаться удалить конфигурацию из вашей версии, вы можете взять ее из базовой версии и просто добавить ее в версию .Debug? Это может быть проще. Однако, если вы хотите удалить его, я думаю, вы можете использовать <specifiedPickupDirectory xdt:Transform="Remove"/>
или что-то подобное.
@katit, вы должны поддерживать две разные конфигурации для dev и release.
ваш webconfig должен быть динамическим и принимать конфигурации, как показано ниже
/qa/yoursettings.config
/release/yoursettings.config
еще один образец
<connectionStrings configSource="config\qa\connectionStrings.config"/>
когда вы переходите на qa или отпустите, соответствующим образом переключите свой web.config.
таким образом он будет намного чище.