Мы используем msdeploy (или развертываем по сети, если хотите) для упаковки и развертывания веб-приложений. Объявляя время пакета параметров, мы можем предоставить значения во время развертывания (для замены, среди прочего, строк соединений).Заменить web config * elements * с параметрами msdeploy
Проблема, с которой мы сталкиваемся в настоящее время, заключается в замене значений в разделах applicationSettings в нашей веб-конфигурации. Мы не можем заставить msdeploy заменять значение, потому что содержимое, которое мы хотим заменить, это текст внутри элемента xml, а не значение атрибута (предупреждение, которое мы получаем: «Невозможно установить значение для типа узла« Элемент »).
Соответствующая конфигурация выглядит следующим образом:
<applicationSettings>
<Name.Of.Assembly.Properties.Settings>
<setting name="someSetting" serializeAs="String">
<value>I wanna be replaced</value>
</setting>
</Name.Of.Assembly.Properties.Settings>
</applicationSettings>
и XML параметр DECLARE выглядит следующим образом:
<parameter name="XX" defaultValue="default">
<parameterEntry kind="XmlFile"
scope="Web\.config$"
match="/configuration/applicationSettings/Name.Of.Assembly.Properties.Settings/setting[@name='someSetting']/value" />
</parameter>
ли MSDeploy поддерживает только замена значений атрибутов или я делаю что-то не так?
Полезно, спасибо! Попробуй. –
Работал для меня --- the/text() - это то, чего мне не хватало. Не xpath pro. Это должно быть отмечено как ответ. Спасибо Дэйву. – TravisWhidden
Согласен с @TravisWhidden - это должно быть отмечено как правильный ответ. – Philippe