AssemblyFileVersionAttribute and AssemblyVersionAttribute: A subtle difference

The AssemblyInfo.cs file generated by Visual Studio contains the following lines:

// Version information for an assembly consists of the // following four values://// Major Version// Minor Version // Build Number// Revision//// You can specify all the values or you can default the Build // and Revision Numbers// by using the '*' as shown below:// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersion("1.0.0.0")]

I was trying to auto-increment the build number by changing them like this:

[assembly: AssemblyVersion("1.0.*")][assembly: AssemblyFileVersion("1.0.*")]

However, when I looked at the properties dialog for my executable, the file version was "1.0.*".

This puzzled me until I came across Manfred Lange's (Manni on DotNet) very clear explanation of the difference between these attributes and how to use them effectively to auto-increment assembly version numbers. Worth a read.

CheersDan

DISCLAIMER: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer.