Automatic true Semmantic Versioning for both Visual Studio and donet CLI builds of .NET solutions and projects. Provides versioning out of box. It is fully customisable by by built-in C# scripting and versioning API.
Just works on every Visual Studio or dotnet CLI build on every box.
Go to documentation for more information.
- Out of box automatic true Semmantic Versioning.
- No limits customisable by built-in C# scripting and versioning API.
- Every build (& rebuild) is traceable (default versioning):
- Incrementing build number on each build system or developer's box build or rebuild (not reliant on commit depth).
- Version identifies its build host as build system or developer's box and which developer's box.
- Automatically uses build system (e.g: TeamCity) provided build number.
- No extra build system version generation step or tools.
- Automatic versioning of developer and build system builds in both Visual Studio and donet CLI builds. Just build.
- Uses Conventional Commits message elements to manage version.
- Branching model (such as GitHub Flow or GitFlow) agnostic. No model configuration.
- Easy solution setup with dotnet tool Git2SemVer.Tool.
See more about features here.
Use if you want:
- Environment parity - Same build on any host, fewer environment tools. Reduces maintenance costs.
- Entirely specialised versioning like:
<year>.<moon phase>.<local surf conditions>
- Build traceability - Build build numbering on all builds including developer box builds. Commit height is too unreliable for you.
- Semmantic Versioning release versioning.
- To use Visual Studio as well as dotnet CLI.
Git2SemVer
uses the MIT license.
This project uses the following tools and libraries. Many thanks to those who created and manage them.
- Spectre.Console
- Injectio
- JetBrains Annotations
- Semver - files copied to create subset
- NuGet.Versioning
- NUnit
- Moq
- docfx
- Brain icons created by Freepik - Flaticon