You can assign random build numbers to your .NET assemblies
“You can specify all the values or you can accept the default build number, revision number, or both by using an asterisk (*). For example, [assembly:AssemblyVersion("184.108.40.206")] indicates 2 as the major version, 3 as the minor version, 25 as the build number, and 1 as the revision number. A version number such as [assembly:AssemblyVersion("1.2.*")] specifies 1 as the major version, 2 as the minor version, and accepts the default build and revision numbers. A version number such as [assembly:AssemblyVersion("1.2.15.*")] specifies 1 as the major version, 2 as the minor version, 15 as the build number, and accepts the default revision number. The default build number increments daily. The default revision number is random.”
This must be some sort of unscientific way of avoiding name clashes? How many people are going to look at these two versions and not realize that either one might be the chronologically earlier version?
Incrementing build numbers daily likewise is a strange decision. So if you compile at 9AM, you get the same build version as if you compile at 2PM, but a different build version the compile next day at 9AM.