2010-06-09 7 views
14

MSBuild in TFS 2010 è stato sostituito da Windows Workflow 4.0. Significa che quando stai creando una definizione di costruzione, non avrai un TFSBuild.proj da modificare, ma devi modificare un flusso di lavoro per personalizzare la tua build.MSBuild sta per essere morto a causa di Windows Workflow?

BTW Ho ragione se dico Microsoft non sta sostenendo MSBuild in TFS 2010 e l'apprendimento MSBuild come amministratore di Team Build TFS 2010 non vale la pena?

E un'altra domanda: è Microsoft sta per sostituire il linguaggio Visual Studio Projects' da MSBuild a qualcosa come Windows Workflow?

risposta

41

Sono Program Manager per le funzioni di automazione build di TFS, quindi mi piacerebbe commentare questa domanda. Non abbiamo sostituito MSBuild con Windows Workflow (WF). Ci affidiamo ancora molto spesso a MSBuild come motore di core build, che è la sua competenza principale. Scoprirai che ci sono molti compiti che sono ancora più facilmente ed efficacemente automatizzati con MSBuild.

Abbiamo introdotto WF come un modo per fornire un livello di orchestrazione di livello superiore sopra il core build engine (che è MSBuild nei modelli di processo di build che includiamo nella casella). Rende possibile fare cose come distribuire un processo su più macchine e legare il processo in altri processi basati sul flusso di lavoro.

Così, quando si dovrebbe automatizzare con MSBuild e quando si dovrebbe automatizzata con WF? Ecco la mia guida generale su questo argomento:

  • Se l'operazione richiede la conoscenza degli ingressi di compilazione specifici o uscite, utilizzare MSBuild
  • Se l'attività è qualcosa che è necessario che accada quando si genera in Visual Studio, utilizzare MSBuild
  • Se l'attività è qualcosa che solo bisogno che accada quando si crea sul server di build, usa WF a meno che non richiede la conoscenza di specifici ingressi build/uscite

quando si utilizza MSBuild, ricordate che è possibile personalizzare i file di progetto direttamente (scaricandoli e t quando li si modifica in Visual Studio), oppure è possibile creare file .target personalizzati e importarli nei singoli progetti. Quest'ultimo approccio è utile per funzionalità comuni a più progetti per evitare il mantenimento di più copie.

Quando si utilizza WF, ricordate che è possibile scrivere codice attività per compiti di basso livello, ma che si può anche comporre i compiti di livello superiore utilizzando XAML dritto. Stiamo attualmente lavorando a una versione del modello di processo di generazione predefinito fornito con TFS 2010 che offre una vista più semplice e meno dettagliata dell'intero processo utilizzando una serie di attività XAML composte.

+1

Le build del flusso di lavoro sono ormai obsolete :) – paulm

+0

Sì, sono sicuro. Spero che Node o .NET Core siano stati un'opzione valida quando abbiamo fatto il passaggio a WF. –

3

Non penso che MSBuild sarà sostituito da flusso di lavoro 4.0, piuttosto penso che entrambe queste tecnologie aumenterà l'un l'altro ed esisterà insieme. Ci sarà una categoria di compiti che sono più facili da fare in MSBuild rispetto al flusso di lavoro. Quindi le persone useranno MSBuild per alcuni set e workflow per altri set. Quindi in un certo senso sarà un mix di entrambi i flussi di lavoro e MSBuild.

Per il modo in cui Tfs 2010 supporta MSBuild utilizzando il suo upgrade template. e non penso che il flusso di lavoro possa sostituire MSBuild nella lingua dei progetti di Visual Studio.