03 January 2007

AssemblyInfoTask Fix for Year 2007

For anyone using the AssemblyInfoTask custom build task you may have noticed that it does not work (using default settings) when performing a build in the new year (2007). This is due to a restriction within Microsoft's version number scheme (i.e. it uses 16 bit numbers).

The AssemblyInfoTask home page suggests a work around by modifying the Microsoft.VersionNumber.targets file (on the build server) and changing all occurrences (there's two of them) of "yyMMdd" to "01MMdd". This will work for the remainder of the year, at which point you'll need to change the format to "02MMdd" for 2008.

If you are like most products and have multiple releases every year then you can leave off the beginning number and use the format "MMdd" (this is what we have chosen to do). The assumption here is that the major and/or minor version number will be incremented long before you reach "1231" at which point it will start over again.