所以,我的应用程序包含33个项目,其中一半以上具有相互依赖性。我正在使用CruiseControl.net 1.6。我可以构建一个单独的csproj或sln罚款,但是当我添加更多标签时,它会炸弹。如何强制构建多个csproj文件?sdf
<msbuild>
<executable>c:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\Program Files\CruiseControl.NET\server\MA_Release</workingDirectory>
<projectFile>WorksFineWith1.sln</projectFile>
<projectFile>ErrorsOutWithMoreThan1.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug</buildArgs>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
<timeout>900</timeout>
</msbuild>
如何使用一个强制构建来构建多个?
答案 0 :(得分:4)
使用多个<msbuild>
任务,您可以根据需要在<project>
中执行任意数量的任务。
答案 1 :(得分:1)
另一种选择是允许MSBuild通过Traversal项目来处理这个问题。有一篇很棒的MSDN文章,关于构建大型源代码树并在这里使用MSBuild Traversal:
答案 2 :(得分:0)
其他答案都很好,但我更倾向于将CI构建针对单个解决方案文件,该文件与开发人员每天使用的完全相同。这样,破坏构建的项目/解决方案更改将反映在开发人员的工作环境中。
如果您有多个单独的解决方案文件,那么只需将它们设置为不同的项目,并使用ProjectTrigger
来表示依赖项。