CruiseControl.Net e NAnt Problema di costruzione
-
03-07-2019 - |
Domanda
Sto configurando un server CruiseControl.net per la prima volta. Il mio team utilizza già gli script di build NAnt, quindi stiamo semplicemente puntando il server verso gli script e lasciando che NAnt faccia tutto il lavoro.
Come puoi vedere, è piuttosto semplice:
<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>
Il problema è che quando lo eseguo in CC, ottengo il seguente errore:
Chiamata di funzione non riuscita. Espressione: $ {Quadro :: get-quadro-directory ( 'net-3.5')} / msbuild.exe
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Microsoft .NET Framework 3.5 (net-3.5) non è installato o non è corretto configurato. Riferimento oggetto non impostato a un'istanza di un oggetto.
In effetti, utilizzo la variabile $ {framework :: get-framework-directory ('net-3.5')} per ottenere il percorso di msbuild.exe; tuttavia, questo codice non ha mai fallito prima. Posso persino eseguire il RDP nel server usando l'account utente in cui è in esecuzione CC ed eseguire direttamente il file di build NAnt e funziona perfettamente.
Perché questo file altrimenti fine fallisce proprio quando CC lo esegue.
NOTA -CC è in esecuzione sullo stesso computer da cui eseguo normalmente gli script di build
Soluzione
Sembra un problema NAnt, ci sono stati alcuni problemi con esso e .NET 3.5. Quale versione di NAnt stai usando?
Inoltre, hai visto Utilizzo 0.86 beta 1 per .NET 3.5 ? Il ragazzo ha lo stesso messaggio di errore generato da NAnt. La soluzione suggerita era quella di utilizzare l'ultima build notturna.
Altri suggerimenti
Il servizio CC probabilmente non è in esecuzione con un account con autorizzazioni appropriate. Hai provato a eseguire CC utilizzando la riga di comando (che verrà eseguita come utente connesso) per vedere se hai lo stesso problema?