ОТРЕДАКТИРОВАНО для ясности (и обновил мои знания о проблеме) Я работаю над этим несколько дней и, похоже, не могу заставить его работать. Мы используем сервер сборки, на котором установлен Windows SDK 7.1 для запуска MSbuild (без визуальных студий). Мы запускаем множество файлов проекта MSBuild, чтобы без проблем создавать различные приложения. MSBuild моего приложения работал нормально, пока я не добавил преобразование Web.Config. Теперь он просто копирует различные файлы web.config (.debug.config, .release.config), а не выполняет преобразование.
Наша команда сборки
msbuild projectfile.proj /p:label=sourceTree_Label /fl
Внутри projectfile.proj находится задача msbuild.
<Target Name="ProjectName" DependsOnTargets="otherProject">
<PropertyGroup>
<ReleasePublishArgs>Configuration=Release;OutputPath=$(ReleaseOutputDir)\$(ProjectNameReleaseAssemblyName)_$(Major)_$(Minor)_$(Build)_$(Revision);</ReleasePublishArgs>
</PropertyGroup>
<!-- Release Build Section -->
<Message Text="Creating Project for Release..." />
<MSBuild
Projects="$(ProjectBaseDir)\$(ProjectFile)"
Targets="Clean"
Properties="Configuration=Release" />
<MSBuild
Projects="$(ProjectBaseDir)\$(ProjectFile)"
Targets="Rebuild"
Properties="$(ReleasePublishArgs)" />
</Target>
Из того, что я прочитал, MSBuild должен просто обрабатывать преобразование. Однако это не работает для меня. Итак, мне нужно изменить файл .csproj, projectfile.proj или исходную команду MSBuild (или мне не хватает какой-то библиотеки на компьютере, который требуется)?
Примечание. Из-за юридических и ИТ-ограничений я не могу импортировать сторонние системы (SlowCheetah) в нашу корпоративную базу