2012-01-27 11 views
13

Ho una soluzione che è costruita sul server TFS. Questa soluzione include diversi progetti che hanno attività personalizzate di MSBuild. Questi compiti in realtà creano alcuni archivi zip.Come passare la variabile TFS a un'attività MSBuild del progetto

Ho bisogno di estrarre in qualche modo le macro $ (Rev) dal build TFS e passarlo alle attività. Ho cercato di usare MSBuildArguments nella scheda processo di definizione di compilazione e funziona quando ho creato un semplice valore di stringa del tipo:

/p: Version = "5"

ma non funziona con le macro :

/p: Version = "$ (Ap: r)"

enter image description here

avete qualche idea?

Modifica: Avevo effettivamente bisogno di BuildDetail.BuildNumber.

+0

Posso chiederti cosa ti fa pensare che quelle siano macro? –

+0

Hm, ho pensato che fosse chiamato macro. Controlla il formato del numero di build: è costruito con queste macro. Ho sbagliato? Sono un principiante in TFS. –

+0

Sì, non sono generali. La dimensione del formato di build è specifica per il numero di build. –

risposta

14

È possibile modificare leggermente il modello di processo di costruzione per ottenere ciò.
Di default la sezione che si riferisce a MSBuild assomiglia a questo:
enter image description here
Questo potrebbe essere esteso in qualcosa di simile a questo:
enter image description here

Se ora si entra in "Argomenti MSBuild" della vostra definizione di compilazione (simile alla foto) qualcosa di simile /p:Version=RePlAcE, dovresti ottenere ciò di cui hai bisogno.

In un'altra definizione di build in cui non è necessario, lasciare la voce vuota. Questo approccio è un'alternativa a quello trovato here e dovrebbe essere scelto se questo inserimento di versione non è esplicitamente desiderato per tutte le definizioni di build che lo consumano.

+0

sì, grazie. Ho già fatto esattamente la stessa cosa –

Problemi correlati