Преобразование Web Config для добавления дочернего элемента

У меня в web.config следующая конфигурация:

  <resizer>
    <sizelimits imageWidth="0" />
    <plugins>
      <add name="MvcRoutingShim" />
      <!--<add name="AzureReader" connectionString="DataConnectionString" /> -->
      <add name="DiskCache" />
      <add name="PrettyGifs" />
      <add name="AnimatedGifs" />
    </plugins>
  </resizer>

Как в web.config.Release добавить элемент AzureReader в качестве дочернего элемента элемента plugins (эффективно раскомментируя приведенное выше)?

Я знаком с основными преобразованиями, но никогда раньше этого не делал.


person Ben Foster    schedule 14.06.2012    source источник


Ответы (2)


Вы можете использовать преобразование Insert:

 <resizer>
    <plugins>
      <add name="AzureReader" connectionString="DataConnectionString" 
           xdt:Transform="Insert" />
    </plugins>
  </resizer>

Синтаксис преобразования Web.config для развертывания проекта веб-приложения

person jrummell    schedule 14.06.2012

Если вы хотите сделать это с помощью XSLT, то вот некоторые рекомендации, так как у меня сейчас нет времени, чтобы вычеркнуть это.

  1. Найдите преобразование идентичности. Это даст вам простой XSLT, который точно дублирует то, что читает.
  2. Добавьте шаблон над универсальными шаблонами со следующим соответствием match="add[@name='MvcRoutingShim']"
  3. Внутри шаблона выведите обрабатываемый элемент с помощью xsl:copy, а затем выведите элемент добавления AzureReader.

Это должно вас подтолкнуть.

Убедитесь, что у вас есть редактор XML, который позволяет выполнять преобразования, чтобы вы могли экспериментировать локально, пока не добьетесь нужного результата.

person Jim Keeney    schedule 14.06.2012