Замена всех AppSettings
Это тот случай, когда вы просто хотите заменить целый раздел web.config. В этом случае я заменю все AppSettings в web.config на новые настройки в web.release.config. Это мой базовый web.config appSettings:
<appSettings>
<add key="KeyA" value="ValA"/>
<add key="KeyB" value="ValB"/>
</appSettings>
Теперь в моем файле web.release.config я собираюсь создать раздел 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>
Обратите внимание, что в файле web.release.config мой раздел appSettings содержит три ключа вместо двух, и ключи даже не совпадают. Теперь давайте посмотрим на сгенерированный файл web.config, что происходит, когда мы публикуем:
<appSettings>
<add key="ProdKeyA" value="ProdValA"/>
<add key="ProdKeyB" value="ProdValB"/>
<add key="ProdKeyC" value="ProdValC"/>
</appSettings>
Как мы и ожидали, набор настроек web.config был полностью заменен значениями в конфигурации web.release. Это было легко!