2010-07-15 17 views

risposta

3

Ho un post sul blog su come versione assembly in TFS costruzione 2010: How to Create a Custom Workflow Activity for TFS Build 2010 RTM

+0

Ho trascorso un'intera giornata a leggere il tuo post e ad applicarlo al mio progetto. Ho corretto tutti i problemi uno per uno. Ma alla fine non aggiorna 'AssemblyVersion' in' AssemblyInfo.cs' senza errori. Inoltre, nel codice di esempio non ho trovato nulla che indichi che le modifiche verranno ripristinate sul controllo del codice sorgente. Anche il tuo post sul blog non mi consente di commentare lì. –

+1

Non è necessario ripristinare le modifiche al controllo del codice sorgente poiché la versione è basata sul numero di build. Modificare i file nel controllo del codice sorgente durante una compilazione è generalmente qualcosa che vorrete evitare. I tuoi assemblee sono stati modificati o no? –

+0

Ora capisco perché non esiste attività con il controllo del codice sorgente. Ma gli assembly non sono ancora versionati. Ho tracciato il processo aggiungendo 'WriteBuildWarning' appena prima di chiamare' ReplaceInFile', quindi sono sicuro che 'ReplaceInFile' è eseguito. Ho appena provato a usare 'UpdateVersionInfo' invece, ma ancora nessun assembly è versionato. Ho messo l'attività in 'Overal Build Process \ Run On Agent' appena prima dell'attività 'Initialize Variables'. Questa può essere la causa principale di 'ReplaceInFile' e' UpdateVersionInfo' per non funzionare? –

0

È possibile utilizzare Task Versione da msbuildtasks

Ecco blog post da Jeremy Jameson con le istruzioni passo-passo su come usarlo.

+0

Quel post del blog riguarda TFS 2008 e creare attività. Ma sto cercando una soluzione TFS 2010. TFS 2010 utilizza WF 4.0 anziché le attività di compilazione. –

+0

@afsharm: basta aggiungere l'attività del flusso di lavoro MSBuild per utilizzare l'attività di cui hai bisogno. – bniwredyc

+1

spiegheresti come si fa? –

2

Prova TfsVersioning definizione di compilazione. È inoltre possibile estenderlo con Nugetter per creare un pacchetto NuGet e caricarlo in un repository.

Problemi correlati