I have an mvc3 application with several configurations (debug, ci, qa, client-dev, client-qa, release). I have web.configs, good merging in visual studio, for any configuration selected in the idea.
So, I have this in my project.
web.config
-web.ci.config
-web.qa.config
- etc..
I also have configs that merge correctly in cruise control mode. Unfortunately, I need to build the whole product in order to get each config.
This is what my cruise control configurator looks like for one environment.
<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>
Is there a way to simply combine web.configs into a set of config directories with a single task that does not complete the entire build? Sort of:
configs
\dev\web.config
\qa\web.config
\client-dev\web.config