Исходный код вики Трансформация App.config
Редактировал(а) Alexandr Fokin 2021/11/19 20:47
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | |||
| 2 | **Вариант1** | ||
| 3 | 1) Создать необходимые конфигурации для проекта, если таковые отцутствуют. (Debug, Release, Test and others) | ||
| 4 | 2) Указать в файле проекты файлы конфигурации (Для удобного отображения в проекте) | ||
| 5 | 3) Указать в фале проекта импорт модуля трансформации | ||
| 6 | 4) Указать в файле проекта задачу, выполняющую трансформацию | ||
| 7 | |||
| 8 | Трансформация будет выполняться перед сборкой решения. | ||
| 9 | Исходным файл: App.Base.config | ||
| 10 | Конечный файл: App.config | ||
| 11 | Применяемая трансформация: App.<Name>.config | ||
| 12 | |||
| 13 | |||
| 14 | **Вариант2 (Не подходит для ASP.NET локальной транформации (при отладке))** | ||
| 15 | SlowCheetah | ||
| 16 | |||
| 17 | добавляет поддержку трансформации .config файлов под текущие конфигурации на уровне VisualStudio | ||
| 18 | |||
| 19 | Расширение добавляет возможность сгенерировать файлы конфигурации в проекте (не обязательно) | ||
| 20 | Nuget пакет используется при выполнении сборки (обязательно) | ||
| 21 | |||
| 22 | |||
| 23 | **Параметры** | ||
| 24 | 1) Действие: | ||
| 25 | xdt:Transform="" | ||
| 26 | |||
| 27 | SetAttributes(название атрибута) - задать значение атрибута | ||
| 28 | Replace - заменить все содержимое тега | ||
| 29 | |||
| 30 | |||
| 31 | 2) Селектор (на какие элементы применить трансформацию) | ||
| 32 | xdt:Locator="" | ||
| 33 | |||
| 34 | Match (name)/(key) - изменить элемент, находящийся в том же теге (в иерархии) с указанным именем name. | ||
| 35 | Condition(../@name='EventLogAppender' and @name='ApplicationName') - на основе атрибутов родительского тега | ||
| 36 | |||
| 37 | |||
| 38 | Конфиг из внешнего файла | ||
| 39 | <НазваниеТега configSource="ПутьКФайлу.config" /> | ||
| 40 | |||
| 41 | |||
| 42 | Ссылки: | ||
| 43 | https://blog.byndyu.ru/2013/05/continuous-integration-appconfig.html | ||
| 44 | https://www.nuget.org/packages/Microsoft.VisualStudio.SlowCheetah/ | ||
| 45 | https://marketplace.visualstudio.com/items?itemName=vscps.SlowCheetah-XMLTransforms |