Goals and principles - nortal/AssemblyVersioning GitHub Wiki

Welcome to the AssemblyVersioning wiki!

Goals

To inject extra information to assemblies with which it is always possible to determine the EXACT code that was used for building a dll. Necessary details may vary but usually include:

  • compile time
  • compile location or user
  • solution configuration used

Implementation principles

  • User must retain FULL control and responsibility of AssemblyVersion used for loading and dependency management.
  • Injected versioning information can be examined both in runtime and and from assembly files.
  • No extra setup must be required on every computer, everything must be in source control.
  • Must work identically for every developer, on every computer.
  • Must apply on EVERY build, including on build server
  • No extra user action must be required on build.
  • Must NOT add any requirements to target assemblies/applications.
  • Must be flexible to suit projects with different needs and preferences.

Implementation overview can be found in section "How it works".