Исходный код вики Трансформация App.config

Редактировал(а) Alexandr Fokin 2021/11/19 20:47

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