2011-07-13 111 views
1

我已經簽署了一個爲我們的項目設置CruiseControl.NET的任務。一切都很順利,直到我跺腳的事實,我們正在使用異步CTP。我的問題如下:CruiseControl.NET和Visual Studio異步CTP

  • 除了通過Visual Studio調用異步CTP構建機器有沒有任何選項? (不使用VS手動執行預處理。)
  • 如何強制CruiseControl.NET使用Async CTP構建項目?

回答

0

我不熟悉Cruise Control .NET,但我很熟悉Async CTP的工作原理。

CTP包含一個支持CTP的編譯器。你應該能夠在你的生成機器上安裝CTP,這將允許它編譯Async .NET代碼。

如果CTP安裝程序需要Visual Studio,則應該能夠安裝VS,然後是CTP,然後卸載VS,同時仍然在您的計算機上留下支持CTP的編譯器。

這與我期望有人使用CTP結合ASP.NET的按需編譯場景相似。

+1

一個非常類似的解決方案爲我工作。我從擁有VS和CTP的機器中取出編譯器,並用它來替換構建機器上的編譯器。 – Santhos

0

我使用另一個構建服務器工具TeamCity,但由於它都歸結爲MSBuild,我認爲它應該可以工作。

對於與Async CTP的兼容性,我有同樣的懷疑,因爲它向.NET本身添加了關鍵字,但在嘗試之後,似乎只需在項目中引用AsyncCtpLibrary.dll,確保DLL到達你的構建服務器。我建議將它包含在你的版本控制系統中,例如。 Subversion,因此引用是相對於您的項目根目錄的,並且會自動位於您的構建服務器上的正確位置。

這樣你就不必「欺騙」你的電腦來安裝完整的軟件包。

+1

不知何故,我沒有工作。正如我在下面的評論中所說的,我已經用構建機器替換解決了它。 – Santhos

+0

桑托斯 - 你是什麼意思'替換MSBuild'?您複製整個文件夾C:\ Windows \ Microsoft .NET \ Framework \ v4.0.30319? Msbuild只是一個.exe文件 - 你是什麼意思你把它複製到遠程服務器? x86/x64服​​務器?你究竟做了什麼? – Jasper

1

對我來說,訣竅就是從我的電腦中取得msbuild,我已經安裝了異步ctp,並在構建服務器上替換構建計算機上的msbuild。