Изменения документа Трансформация Web.config

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

От версии 8.2
отредактировано Alexandr Fokin
на 2021/11/19 20:47
Изменить комментарий: Update document after refactoring.
К версии 4.1
отредактировано Alexandr Fokin
на 2020/03/26 19:25
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.NET.C#.Коллекции.WebHome
1 +Разработка.NET.C#.WebHome
Содержимое
... ... @@ -3,26 +3,16 @@
3 3  
4 4  Если мы рассмотрим обычное приложение, то при запуске в VisualStudio оно собирается в папаку \<ProjectDir>\bin\<conf> и туда помещается трансформированный конфиг.
5 5  Например мы берем исходный конфиг \<ProjectDir>\app.config и накладываем на него app.<conf>.config результирующий файл помещается в \<ProjectDir>\bin\<conf>
6 -__\<ProjectDir>\app.config__ + __app.<conf>.config__ => __\<ProjectDir>\bin\<conf>\*.config__
6 +\<ProjectDir>\app.config + app.<conf>.config => \<ProjectDir>\bin\<conf>\*.config
7 7  
8 8  
9 9  В случае же asp.net приложения при запуске проекта в VisualStudio (IIS express) в качестве конфига будет использован файл \web.config. Отсюда следует 2 факта
10 10  1) Мы не можем размещать какую либу конфигукрацию в web.config, если планируем проводить трансформацию. (Для основы следует использовать что то вроде web.base.config)
11 11  2) Результат транформации должен помещаться не только в папке конечного билда \<ProjectDir>\bin\, но и в папке самого проека \<ProjectDir>\web.config. Иначе при запуске в VisualStudio мы не получим нужную трансформацию.
12 -__\<ProjectDir>\web.base.config__ + __web.<conf>.config__ => __\<ProjectDir>\web.config__
13 -__\<ProjectDir>\web.base.config__ + __web.<conf>.config__ => __\<ProjectDir>\bin\*.config__
12 +\<ProjectDir>\web.base.config + web.<conf>.config => \<ProjectDir>\web.config
13 +\<ProjectDir>\web.base.config + web.<conf>.config => \<ProjectDir>\bin\*.config
14 14  
15 15  
16 16  Плагин SlowCheetah не учитывает данный аспект работы asp.net проекта, поэтому необходимо вручную внести изменения в .csproj файл проекта.
17 17  Это же касается и других .config файлов проекта (log4net.config)
18 18  
19 -{{code language="xml"}}
20 -<Target Name="BeforeBuild">
21 - <TransformXml Source="Web.base.config" Destination="Web.config" Transform="Web.$(Configuration).config" />
22 -</Target>
23 -{{/code}}
24 -
25 -Ссылки:
26 -https://github.com/microsoft/slow-cheetah/issues/55
27 -
28 -