Исходный код вики Трансформация Web.config
Версия 8.2 от Alexandr Fokin на 2021/11/19 20:47
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | |
| 2 | Трансформация web.config отличается от app.config: | ||
| 3 | |||
| 4 | Если мы рассмотрим обычное приложение, то при запуске в VisualStudio оно собирается в папаку \<ProjectDir>\bin\<conf> и туда помещается трансформированный конфиг. | ||
| 5 | Например мы берем исходный конфиг \<ProjectDir>\app.config и накладываем на него app.<conf>.config результирующий файл помещается в \<ProjectDir>\bin\<conf> | ||
| |
5.1 | 6 | __\<ProjectDir>\app.config__ + __app.<conf>.config__ => __\<ProjectDir>\bin\<conf>\*.config__ |
| |
1.1 | 7 | |
| |
2.1 | 8 | |
| |
1.1 | 9 | В случае же asp.net приложения при запуске проекта в VisualStudio (IIS express) в качестве конфига будет использован файл \web.config. Отсюда следует 2 факта |
| 10 | 1) Мы не можем размещать какую либу конфигукрацию в web.config, если планируем проводить трансформацию. (Для основы следует использовать что то вроде web.base.config) | ||
| 11 | 2) Результат транформации должен помещаться не только в папке конечного билда \<ProjectDir>\bin\, но и в папке самого проека \<ProjectDir>\web.config. Иначе при запуске в VisualStudio мы не получим нужную трансформацию. | ||
| |
5.1 | 12 | __\<ProjectDir>\web.base.config__ + __web.<conf>.config__ => __\<ProjectDir>\web.config__ |
| 13 | __\<ProjectDir>\web.base.config__ + __web.<conf>.config__ => __\<ProjectDir>\bin\*.config__ | ||
| |
1.1 | 14 | |
| |
2.1 | 15 | |
| |
1.1 | 16 | Плагин SlowCheetah не учитывает данный аспект работы asp.net проекта, поэтому необходимо вручную внести изменения в .csproj файл проекта. |
| 17 | Это же касается и других .config файлов проекта (log4net.config) | ||
| 18 | |||
| |
7.1 | 19 | {{code language="xml"}} |
| |
6.1 | 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 |