TfsVersioning Version 2.0 Released (TFS 2012)

Versioning is part of Visual Studio projects within the AssemblyInfo file. It’s easy to update the version once but how many people actually and effectively manage an application’s version through this mechanism?  I don’t actually know but I would bet that most only do it sporadically and eventually give up. Manual editing of the AssemblyVersion and AssemblyFileVersion is much harder that it needs to be.

The goal of this project is to create a way to modify the automated build process of TFS so that versioning is automatic while giving the user the flexibility that they need given the project’s process requirements.

Current version 2.0.1: was released to fix two issues: file check-in issue and an exception under certain circumstances when multiple, simultaneous builds had been initiated.

This solution provides versioning using patterns against the Assembly Version and Assembly File Version and includes:

  • Automated incrementing of the version values
  • Centralized version management of any number of solutions
  • Mechanism to tie an assembly back to the specific build definition as well as the source code that built it
  • Automated check-in of the “assemblyInfo” files
  • Works on C#, VB and C++ projects
  • Operates as an addition to the TFS 2012 build workflow (WF 4.5 XAML)

Example of the updated TFS 2012 Build Definition template (Version 2.0) shown below:



Example of the VersionSeed.xml file used to create the TfsVersioning custom build activity assembly.



NuGet Package Developers...TfsVersioning works very well with the recently updated NuGetter Automated Build extensions (also on CodePlex).


Note: Version 2.0 of TfsVersioning has been updated for Microsoft Team Foundation Server (TFS) 2012.  If you want to use TFS 2010, then use TfsVersioning V1.5.0.0.

Last edited Jul 3, 2013 at 1:32 AM by marknic, version 16