Come posso cambiare la directory di build che MSBuild utilizza in Team Foundation Build?
Domanda
Ricevo il seguente errore quando provo a creare la mia app usando Team Foundation Build:
C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets (1682,9): errore MSB3554: impossibile scrivere nel file di output " obj \ Release \ Company.Redacted.BlahBlah. Localization.Subsystems. Startup_Shutdown_Processing.StartupShutdownProcessingMessages.de.resources " ;. Il percorso, il nome file o entrambi specificati sono troppo lunghi. Il nome file completo deve contenere meno di 260 caratteri e il nome della directory deve essere inferiore a 248 caratteri.
Il mio progetto si basa perfettamente sulla mia macchina di sviluppo poiché l'origine ha solo due cartelle di profondità, ma TF Build sembra utilizzare una directory molto profonda che sta causando la sua rottura. Come posso cambiare le cartelle utilizzate?
Modifica: Ho controllato il file .proj per la mia build che è memorizzato nel controllo del codice sorgente e ho trovato quanto segue:
<!-- BUILD DIRECTORY
This property is included only for backwards compatibility. The build directory used for a build
definition is now stored in the database, as the BuildDirectory property of the definition's
DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value
in the database.
-->
<BuildDirectoryPath>UNKNOWN</BuildDirectoryPath>
Se questo è archiviato nel database come posso modificarlo?
Modifica: ho trovato il seguente post sul blog che potrebbe indicarmi la soluzione. Ora ho solo bisogno di capire come modificare l'impostazione in Build Agent. http: / /blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx
Attualmente la mia directory di lavoro è " $ (Temp) \ $ (BuildDefinitionPath) " ma ora non so quali caratteri jolly sono disponibili per specificare una cartella diversa.
Soluzione
Devi modificare la directory di lavoro di compilazione del tuo Build Agent in modo che il percorso di accattonaggio sia un po 'più piccolo. Per modificare l'agente di compilazione, fai clic con il pulsante destro del mouse su " Builds " nodo e seleziona " Gestisci agenti di build ... "
Uso personalmente qualcosa come c: \ bw \ $ (BuildDefinitionId). $ (BuildDefinitionId) si traduce nell'ID della definizione di build (da cui il nome :-)), il che significa che ottieni un percorso di build che inizia con qualcosa come c: \ bw \ 36 anziché c: \ Documents and Settings \ tfsbuild \ Local Settings \ Temp \ BuildDefinitionName
Buona fortuna
Martin.
Altri suggerimenti
devi fare il checkout del file dello script di build, dall'esploratore del controllo del codice sorgente, e sporcare i gomiti sostituendo il percorso.