Should .NET Assembly names include a version number?
We currently have a heated internal debate as to whether the actual .NET assembly name should include the code's version number (e.g. CodeName02.exe or CompanyName.CodeName02.dll). Does anyone know of an authoritative source, like Microsoft, that provides guidance on this issue?
This is what the Properties/AssemblyInfo.cs file is for.
There are two versions within that file, the file version and the assembly version:
[assembly: AssemblyVersion("126.96.36.1996"] [assembly: AssemblyFileVersion("188.8.131.526")]
Once these are set you can use them to track the versions of you binaries. It is easily viewed in explorer with right click->properties.
None of the dll or exe names included in Microsoft's applications (and OS) use that convention.
Other systems will use these numbers to resolve dependencies and verify the version. For example the MSI system will update binaries based on the version properties.