У меня есть приложение mvc3 с несколькими конфигурациями (отладка, ci, qa, client-dev, client-qa, release). У меня есть web.configs, прекрасно объединяющиеся в visual studio для любой конфигурации, выбранной в настоящее время в ide.
Итак, у меня есть это в моем проекте.
web.config
-web.ci.config
-web.qa.config
- etc..
У меня также есть слияния конфигов в круиз-контроле. К сожалению, мне нужно собрать весь продукт, чтобы получить каждый конфиг.
Вот как выглядит моя конфигурация круиз-контроля для одной среды.
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\Projects\Source\foo.SwsFall2011</workingDirectory>
<projectFile>msbuild.xml</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Dev;DeployOnBuild=true;DeployTarget=Package;PackageAsSingleFile=false /v:d "/l:ThoughtWorks.CruiseControl.MsBuild.XmlLogger,C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll;C:\Projects\Artifacts\foo.SwsFall2011\msbuild-results.xml" </buildArgs>
<targets>BuildCI;ConfigMerge</targets>
<timeout>600</timeout>
</msbuild>
Есть ли способ просто объединить web.configs в набор каталогов конфигурации с помощью одной задачи, которая не выполняет всю сборку? Что-то вроде:
configs
\dev\web.config
\qa\web.config
\client-dev\web.config