Подтвердить что ты не робот

Как преобразовать этот раздел web.config?

У меня есть следующая конфигурация для моей почты:

<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. Каков синтаксис для этого?

4b9b3361

Ответ 1

Для элемента specifiedPickupDirectory это должно работать:

<specifiedPickupDirectory xdt:Transform="RemoveAll" />.

Для System.Diagnostics:

<system.diagnostics xdt:Transform="RemoveAll"></system.diagnostics>

Ответ 2

<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 в конечном итоге загрязняете свою конфигурацию преобразования ненужными командами удаления, например, некоторые из ответов, изложенных здесь.

рассмотрим случай, когда у вас более одного дочернего тега.

Ответ 3

Вместо того, чтобы пытаться удалить конфигурацию из вашей версии, вы можете взять ее из базовой версии и просто добавить ее в версию .Debug? Это может быть проще. Однако, если вы хотите удалить его, я думаю, вы можете использовать <specifiedPickupDirectory xdt:Transform="Remove"/> или что-то подобное.

Ответ 4

@katit, вы должны поддерживать две разные конфигурации для dev и release.

ваш webconfig должен быть динамическим и принимать конфигурации, как показано ниже

/qa/yoursettings.config


/release/yoursettings.config

еще один образец

<connectionStrings configSource="config\qa\connectionStrings.config"/>

когда вы переходите на qa или отпустите, соответствующим образом переключите свой web.config.

таким образом он будет намного чище.