Преобразование веб-конфигурации для пользовательского раздела

У меня в приложении MVC 5 много разных Web.configs для разных сред - например, Test/Prod

У меня есть веб-преобразования для изменения значений для разных сред. Так, например, у меня есть следующий параметр приложения в моем файле web.config:

<appSettings>
<add key="DevDisplayPanel" value="true" />
</appSettings>

Затем в моих Web.Test.config и Web.Prod.config используя веб-преобразование, чтобы изменить значение, как показано ниже:

<appSettings>
<add key="DevDisplayPanel" 
     xdt:Transform="Replace" 
     xdt:Locator="Match(key)" 
     value="false" />
<appSettings>

Однако в моем Web.config у меня также есть свой собственный раздел, который находится за пределами <appSettings> раздел и как ниже:

  <myCustomSection>
    <serverList>
      <add zone="Zone1" url="https://dev-myurl1.com"/>
      <add zone="Zone2" url="https://dev-myurl2.com"/>
      <add zone="Zone2" url="https://dev-myurl3.com"/>
    </serverList>
  </myCustomSection>

Мой вопрос - возможно ли сделать веб-преобразование таким образом, чтобы Test и Prod выглядели так, как показано ниже:

Тестовое задание:

  <myCustomSection>
    <serverList>
      <add zone="Zone1" url="https://test-myurl1.com"/>
      <add zone="Zone2" url="https://test-myurl2.com"/>
      <add zone="Zone2" url="https://test-myurl3.com"/>
    </serverList>
  </myCustomSection>

Prod:

  <myCustomSection>
    <serverList>
      <add zone="Zone1" url="https://prod-myurl1.com"/>
      <add zone="Zone2" url="https://prod-myurl2.com"/>
      <add zone="Zone2" url="https://prod-myurl3.com"/>
    </serverList>
  </myCustomSection>

1 ответ

Решение

Вы можете попробовать заменить содержимое <serverList> тег.

Тестовое задание:

<myCustomSection>
    <serverList xdt:Transform="Replace">
        <add zone="Zone1" url="https://test-myurl1.com"/>
        <add zone="Zone2" url="https://test-myurl2.com"/>
        <add zone="Zone2" url="https://test-myurl3.com"/>
    </serverList>
</myCustomSection>

Prod:

<myCustomSection>
    <serverList xdt:Transform="Replace">
        <add zone="Zone1" url="https://prod-myurl1.com"/>
        <add zone="Zone2" url="https://prod-myurl2.com"/>
        <add zone="Zone2" url="https://prod-myurl3.com"/>
    </serverList>
</myCustomSection>
Другие вопросы по тегам