Как изменить значение атрибута в разделе appSettings с помощью Web.преобразование конфигурации
можно ли преобразовать следующую сеть.файл конфигурации appSettings:
<appSettings>
<add key="developmentModeUserId" value="00297022" />
<add key="developmentMode" value="true" />
/* other settings here that should stay */
</appSettings>
В что-то вроде этого:
<appSettings>
<add key="developmentMode" value="false" />
/* other settings here that should stay */
</appSettings>
Итак, мне нужно удалить ключ developmentModeUserId, и мне нужно заменить значение ключа developmentMode.
3 ответов
вы хотите что-то вроде:
<appSettings>
<add key="developmentModeUserId" xdt:Transform="Remove" xdt:Locator="Match(key)"/>
<add key="developmentMode" value="false" xdt:Transform="SetAttributes"
xdt:Locator="Match(key)"/>
</appSettings>
Читайте Также: Web.синтаксис преобразования config для развертывания проекта веб-приложения
Если вы хотите сделать преобразование настройки приложения из файла web config в web.Освобождать.config, вы должны сделать следующие шаги. Пусть твоя паутина.файл настройки приложения config-это -
<appSettings>
<add key ="K1" value="Debendra Dash"/>
</appSettings>
теперь вот веб.Освобождать.config для трансформации.
<appSettings>
<add key="K1" value="value dynamicly from Realease"
xdt:Transform="SetAttributes"
xdt:Locator="Match(key)"
/>
</appSettings>
это преобразует значение K1 в новое значение в режиме реального времени.
замена всех AppSettings
Это перебор, если вы просто хотите заменить весь раздел веб.конфиг. В этом случае я заменю все AppSettings в интернете.config создаст новые настройки в web.освобождать.конфиг. Это моя базовая сеть.config appSettings:
<appSettings>
<add key="KeyA" value="ValA"/>
<add key="KeyB" value="ValB"/>
</appSettings>
Теперь в моей сети.освобождать.файл конфигурации, я собираюсь создать раздел appSettings, за исключением того, что я включу атрибут xdt:Transform= "Replace", так как я хочу просто заменить весь элемент. Мне не нужно было использовать xdt:Locator, потому что нечего искать – я просто хочу стереть шифер и заменить все.
<appSettings xdt:Transform="Replace">
<add key="ProdKeyA" value="ProdValA"/>
<add key="ProdKeyB" value="ProdValB"/>
<add key="ProdKeyC" value="ProdValC"/>
</appSettings>
обратите внимание, что в интернете.освобождать.конфигурационный файл мой раздел appSettings имеет три ключа вместо двух, и ключи даже не одинаковы. Теперь давайте посмотрим на сгенерированную сеть.конфигурационный файл что происходит при публикации:
<appSettings>
<add key="ProdKeyA" value="ProdValA"/>
<add key="ProdKeyB" value="ProdValB"/>
<add key="ProdKeyC" value="ProdValC"/>
</appSettings>
как мы и ожидали – в интернете.config appSettings были полностью заменены по значениям в интернете.релиз конфигурации. Это было просто!