Microsoft .NET framework provides an opportunity to set two different types of version numbers for each assembly.
- Assembly Version
- Assembly file version
Assembly version
It’s the version number that the framework uses to locate, link, and load assemblies during build and runtime. This version number is embedded whenever you add a reference to any assembly in your project. Common Language Runtime (CLR) searches for assemblies with this version number to load at runtime. However, keep in mind that this version, along with the name, public key token, and culture information, is only used if the assemblies are strong-named signed. Only file names are used for loading if assemblies are not strong-named signed.
Assembly file version
It is the version number assigned to a file in the file system. It is displayed by Windows Explorer and is never used for referencing by the.NET framework or runtime.
Attributes in AssemblyInfo.cs
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]