Как преобразовать пользовательские разделы Web.config с помощью MSDeploy? - PullRequest
4 голосов
/ 01 декабря 2010

Есть ли способ преобразовать значения пользовательских разделов web.config при использовании MSDeploy?

  <configSections>
    <sectionGroup name="myGroup">
      <section name="data" type="MyApp.DataConfigurationSection, MyApp.Data" />
    </sectionGroup>
  </configSections>

  <myGroup>
    <data interval="3" useCache="true" />
  </myGroup>

В соответствии с конфигурацией сборки мне нужно для примера изменить значение "useCache".

Ответы [ 2 ]

4 голосов
/ 13 февраля 2012

Запись преобразования в файл конфигурации config (web.config.release)

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <myGroup>
    <data useCache="false" xdt:Transform="SetAttributes(useCache)" />
  </myGroup>
</configuration>
1 голос
/ 01 декабря 2010

Да, MSDeploy поддерживает это довольно легко.

При создании пакета развертывания вы хотите использовать параметр -declareParm для создания заменяемого параметра в вашем пакете развертывания.Вы будете использовать что-то вроде:

-declareParam:name=UseCache,kind=XmlFile,scope=web.config,match="/configuration/myGroup/data/@useCache"

Затем при развертывании вашего пакета вы будете использовать команду -setParm для замены параметра во время развертывания.Примерно так:

-setParam:name=UseCache,value="false"

Этот пример заменит параметр UseCache, который указывает на атрибут useCache в файле web.config, на «false».

Вы можете объявить любое количество параметровподлежит замене, и MSDeploy поддерживает использование файлов для хранения параметров.Файлы представляют собой простые XML-файлы, в которых вы можете использовать синтаксис -setParamFile:<filename> и -declareParamFile:<filename>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...