Skip to content

Goals and principles

Imre Pühvel edited this page Mar 12, 2015 · 1 revision

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".

Clone this wiki locally