对于我来说,让.NET 4.0和巡航控制.NET会来到了这一点:
1)避免64位的MSBuild瘟疫一样...有一个工作的32位编译第一。
2)只需指定记录器的完全限定路径,而不是典型类, 汇编格式。
3)从VS 2010光盘部署定位包。 \ WCU \ MTPack \ NetFx_DTP.msi EXTUI = 1/log install.log
4)始终证明MSBuild首先从命令行运行。
5)解决方案中的文件创建一个配置,其中包括只有你想建立
<msbuild>
<!-- WARNING: You must copy the files from C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications to the same path on your build server -->
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\builds\SOLUTIONFOLDER\trunk\</workingDirectory>
<projectFile>C:\builds\SOLUTIONFOLDER\trunk\SOLUTIONNAME.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=CruiseControl /v:diag</buildArgs>
<targets>Build</targets>
<timeout>15</timeout>
<logger>C:\CruiseControl\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
现在,如果微软只会让我们轻松地在我们构建服务器上安装MSTest的项目......人们一直在乞讨5年来,微软如何才能对测试知之甚少呢?
祝你好运。
+1关于MSTest的观点。我们不得不在我们的构建服务器上安装VS,这简直太愚蠢了。我想这是因为他们希望我们使用TFS Build服务器,但现在它非常不成熟,因此CCNet是更好的选择。 – John 2010-04-29 14:56:38