我第一次配置CruiseControl.net服務器。我的團隊已經使用NAnt構建腳本,因此我們只需將腳本指向服務器,讓NAnt完成所有工作。CruiseControl.Net和NAnt構建問題
正如你所看到的,這是很簡單的:
<project name="ChannelIP">
<tasks>
<nant>
<executable>C:\Program Files\nant-0.86-beta1\bin\nant.exe</executable>
<baseDirectory>D:\mypath</baseDirectory>
<buildFile>D:\mypath\myNAnt.build</buildFile>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
</project>
的問題是,當我在CC運行它,我得到以下錯誤:
Function call failed. Expression: ${framework::get-framework-directory('net-3.5')}/msbuild.exe
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Microsoft .NET Framework 3.5 (net-3.5) is not installed, or not correctly configured. Object reference not set to an instance of an object.
我這樣做,事實上,使用$ {framework :: get-framework-directory('net-3.5')}變量來獲取msbuild.exe的路徑;但是,此代碼之前從未失敗過。我甚至可以使用CC運行的用戶帳戶將RDP引入服務器,並直接運行NAnt構建文件,它工作得很好。
爲什麼這個很好的文件在CC運行時會失敗。
注意 -CC的是,我通常運行從
使用最新的每晚構建做了訣竅。真正的問題是我在ccnet.config文件中將路徑硬編碼爲NAnt,並忘記將其指向最新版本。感謝大家的幫助! – 2009-05-04 17:06:11