- NuGet Package Version
- Assembly Version
- Assembly File Version
- Version assigned to and embedded in the NuGet package
- Format: Semantic Versioning
- Set with one of the following:
Version
element in.csproj
version
element in.nuspec
-Version
option withnuget.exe pack
AssemblyInformationalVersionAttribute
- See Package versioning on MSDN for more details
- Version number embedded in the assembly
- Used when the CLR resolves the assembly to load
- These versions of dependent assemblies are stored in the assembly's manifest
- Format: major-version.minor-version.build-number.revision
- Set with one of the following:
AssemblyVersion
element in.csproj
AssemblyVersionAttribute
- See Assembly Versioning for more details
- Not used for resolving the assembly to load
- Does not need to match the Assembly Version
- Displayed on the Version tab of the Windows file properties dialog
- Format: major-version.minor-version.build-number.revision
- Set with one of the following:
AssemblyVersion
element in.csproj
AssemblyFileVersionAttribute
- See Assembly Versioning for more details
- NuGet Package Version: Update according to rules set by Semantic Versioning
- Assembly Version: Only updated for major releases
- Major version matches NuGet Package Version's major version
- Minor, build and revision are
0
- Assembly File Version: Informational
- Major, minor match Assembly Version
- Increment the build number with every automated build
- Set revision for "special" builds
- TODO: CI Versioning Strategy
- TODO: Automatic push pre-release version
- TODO: Also build "actual" release version
- TODO: Require manual "deploy" of actual version
- TODO: Why we don't update Assembly Version with every build/release
{.column}
- Brian Lachniet
- http://blachniet.com
- @blachniet