Объяснение
Для преобразования вашего конфигурационного файла вам нужно выполнить цель TransformWebConfig
.
Эта цель берет два файла Web.config
и Web.$(Configuration).config
и генерирует Web.config
. Сгенерированный файл является преобразованной версией исходного для текущей конфигурации.
Этот файл создан в папке: obj\$(Configuration)\TransformWebConfig
Использование
Вы на самом деле не объясняете, чего хотите достичь, поэтому здесь основное использование - задание, которое генерирует преобразованный файл конфигурации в заданной папке.
Добавьте следующий фрагмент в конец файла вашего проекта *.csproj
после импорта Microsoft.WebApplication.targets
<PropertyGroup>
<!-- Directory where your web.config will be copied -->
<TransformedWebConfigDestination>$(MSBuildProjectDirectory)</TransformedWebConfigDestination>
</PropertyGroup>
<!--
This target transforms the web.config based on current configuration and
put the transformed files in $(TransformedWebConfigDestination) folder
-->
<Target Name="ConfigSubstitution">
<CallTarget Targets="TransformWebConfig"/>
<ItemGroup>
<TransformedWebConfig Include="obj\$(Configuration)\TransformWebConfig\Web.config"/>
</ItemGroup>
<!-- Copy the transformed web.config to the configured destination -->
<Copy SourceFiles="@(TransformedWebConfig)"
DestinationFolder="$(TransformedWebConfigDestination)"/>
</Target>
В Hudson вы можете добавить шаг сборки в свою сборку или создать выделенное задание, настроенное следующим образом:
- Файл сборки MsBuild:
Your csproj file.
- Аргументы командной строки:
/t:ConfigSubstitution /p:Platform=AnyCpu;Configuration=Test;TransformedWebConfigDestination=DestinationFolder