我有一个mvc3应用程序有几个配置(debug,ci,qa,client-dev,client-qa,release)。我已经在visual studio中很好地合并了web.configs,无论在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
答案 0 :(得分:2)
根据visual studio内置的功能,各种Web配置仅在发布时合并。我们有一个构建后的任务,可以在构建时合并它们。根据需要自定义。虽然实现选择很薄 - 所以不要拍摄信使 - 这只是一种方式。可能还有其他人,但我所知道的“内置”
Visual studio 2010 - Per Developer/machine/environment Web.Config settings