對於我來說,讓.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