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?
NET Framework, assemblies can contain one or more modules. This allows larger projects to be planned so that several developers can work on separate source code files or modules, which are combined to create a single assembly. For more information about modules, see How to: Build a multifile assembly.
The version number is stored in the assembly manifest along with other identity information, including the assembly name and public key, as well as information on relationships and identities of other assemblies connected with the application.
You can set the assembly version using the AssemblyVersionAttribute. Assembly attributes are usually applied in the AssemblyInfo.
It's the version number used by framework during build and at runtime to locate, link, and load the assemblies.
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("1.1.0.256"]
[assembly: AssemblyFileVersion("1.1.0.256")]
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With