Dai un'occhiata alla versione Task in http://msbuildtasks.tigris.org/
Essa vi permetterà di aggiornare i AssemblyInfo.cs in costruzione.
che lascia ancora il "come" per identificare il ramo ...
Sul rischio di avere un dibattito religioso sulla versione numerazione si può dedicare una parte della parte major.minor.build.revision al ramo. Ad esempio, major.minor segue solo il numero di versione "esterno/commerciale", build è il modulo di compilazione TFS e la revisione 1 indica il ramo principale, la revisione 2 indica un determinato ramo. È anche possibile utilizzare gli altri attributi della versione di assieme, come AssemblyInformationalAttribute per memorizzare un ID di diramazione in esso.
Non sono completamente aggiornato su come è possibile rilevare il ramo in cui ci si trova ma nel peggiore dei casi si tratta solo di ottenere la directory corrente e applicare una logica per dedurre il nome del ramo. L'output di un ramo tf. il comando dovrebbe anche darti il nome del ramo per un'area di lavoro corrente, ma avrai bisogno di un'attività personalizzata per estrarre solo la prima linea.
Non è una risposta plug-and-play ma potrebbe portarti nella giusta direzione.
Vorrei suggerire di utilizzare [AssemblyConfigurationAttribute] (http://msdn.microsoft.com/en-us/library/system.reflection.assemblyconfigurationattribute.aspx) poiché è destinato a essere utilizzato per la configurazione di configurazione testuale in formato libero informazione. Ti suggerisco inoltre di passare a un pattern in cui hai un file [VersionInfo] (http://stackoverflow.com/questions/62353/what-are-the-best-practices-for-using-assembly-attributes) condiviso tra i progetti in modo che tu possa aggiornare queste informazioni in un unico posto. Non so nulla di TFS, quindi non posso aiutarti con quello. –
@chibacity Il ramo non è una configurazione. AssemblyInformationalVersionAttribute sembrerebbe essere un luogo più appropriato per archiviare tali informazioni. È un po 'strano che non ci sia un attributo assembly esplicitamente per il ramo. – mhenry1384