Versioning Assemblies
I posted a question on the DevelopMentor CLR Listserv about version numbers and a live release.
Chris Tavares answered my question and I wanted to share this answer:
Every product essentially has two different version numbers.
The first is the marketing version. This is the "brand new version 1.5!"
that goes onto the advertising and into the press releases. This is
controlled by the marketing department.
The second is the actual build number. This correlates directly with the
build system, and lets you match up a particular compile with a particular
binary. This is also the number used by the loader to load referenced
assemblies. This is controlled by engineering.
Luckily, there are two different attributes for these two different
versions.
AssemblyVersionAttribute controls the build number.
AssemblyInformationVersionAttribute gives you a place to set the marketing
version #.
Leave the former alone, or do what your other developer suggested so that
you have a known version number for your release build.
Set the AssemblyInformationVersionAttribute to 1.0.0.0.
I had the NANT stuff worked out, but that was a while ago and I must admit
I've forgotten how to do it now.
-Chris
-----Original Message-----
From: Discussion of development on the .NET platform using any managed
language [mailto:DOTNET-CLR@DISCUSS.DEVELOP.COM] On Behalf Of Greg Robinson
Sent: Monday, March 14, 2005 7:08 AM
To: DOTNET-CLR@DISCUSS.DEVELOP.COM
Subject: [DOTNET-CLR] Versioning assemblies for 1st live release
We are very close to doing our first release.
We kept the default 1.0.*.* version number during development.
I want to set this to 1.0.0.0 for our first release.
Another developer disagrees and says we should use the last development
build number and increment that number for our first release, then set it
back to 1.0.*.* for ongoing development.
We use Nant to do a nightly server build. Nant currently does not build a
version # for us. This is on our to do list.
What's the best way to set our first live release version number? What's
the best way to set our ongoing development builds after that, and what do
we do when it's time for our first bug fix and then our next release?