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