Decoding Assembly Version and Assembly File Version


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-version

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.

assembly-file-version

Attributes in AssemblyInfo.cs

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

See also