Uso TeamCity che a sua volta richiama msbuild (.NET 4). Ho uno strano problema in quanto dopo che una build è completa (e non sembra importare se è stata una build riuscita o meno), msbuild.exe rimane aperto e blocca uno dei file, il che significa che ogni volta che TeamCity prova per cancellare la sua directory di lavoro, fallisce e non può continuare.
Succede quasi ogni volta.
Sono davvero perso su questo, quindi cercherò di fornire il maggior numero di dettagli possibile.
- Il server è un Intel Core i7, 2 GB di ram, con Windows Server 2008 standard a 64 bit SP2.
- In TeamCity, il runner msbuild è configurato con il
/m
parametro della riga di comando (che significa utilizzare più core) - Il file in questione è SEMPRE la stessa DLL esterna a cui si fa riferimento in uno dei progetti .NET, nel percorso
External Tools\Telerik\Telerik.Reporting.Dll
. (Ci sono molti altri file .DLL inclusi nella directoryExternal Tools
in una struttura di percorso simile che non causano mai questo problema). Attualmente questo è con la versione di prova dei rapporti Telerik, nel caso in cui ciò faccia la differenza. - Quando si verifica il problema, ci sono sempre diversi
msbuild.exe *32
processi elencati in Task manager: credo che ce ne siano 7. Utilizzando Process Explorer, sembrano tutti processi di primo livello (nessun genitore). Usano tutti da 20-50 MB di RAM e 0,0% di CPU. - Se aspetto 1-3 minuti, i processi msbuild.exe si chiudono da soli e TeamCity può aggiornare correttamente la directory di lavoro.
- Se interrompo manualmente i processi di msbuild, l'aggiornamento di TeamCity funzionerà di nuovo immediatamente.
- I servizi di indicizzazione sono disattivati in Windows (anche se i due punti precedenti confermano praticamente che è msbuild.exe a causare il problema).
- Non esistono proprietà speciali su Telerik.reporting.dll. L'unica proprietà SVN è
svn:mime-type = application/octet-stream
Qualcuno l'ha incontrato prima?
/m /nr:false
, correrò per alcune build e vedrò come va. Grazie