Automatic .NET Versioning Tool

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/dotnet

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • Versioning.NET

    A dotnet tool that automatically increments versions in csproj files based on git commit hints.

  • CommandLineUtils

    Command line parsing and utilities for .NET

    Thanks to https://github.com/natemcmaster/CommandLineUtils for supplying a lot of the command structures. If you're interested in creating your own dotnet tool, this is highly recommended.

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • Nerdbank.GitVersioning

    Stamp your assemblies, packages and more with a unique version generated from a single, simple version.json file and include git commit IDs for non-official builds.

    I would suggest you compare with the readme on https://github.com/dotnet/Nerdbank.GitVersioning (FD: this is what I use for versioning my projects, so I'm already very familiar with it), which has most of the details up front (i.e. I don't have to go browsing through multiple wiki pages). It clearly calls out: - What does the package accomplish? (it adds semver information based on git history) - What is it compatible with? ("[dotnet] assemblies, VSIX, NuGet, NPM, and more") - What sets it apart? (#1: every commit generates a unique version, and builds reproducibility is prioritized. #2-4: everything is automatic.) - Further down it talks about how it calculates versions, and how to calculate between versions and git commits (i.e. how does the automatic part work)

  • Verlite

    Automatically version projects via semantic git tags with a focus on being lite, optimized for continuous delivery.

    If anyone is interested, I recently released mine, with an approach closer to MinVer + tags as a source of truth: https://github.com/AshleighAdams/Verlite

  • dotnet-setversion

    .NET Core CLI tool to update the version information in .NET Core *.csproj files

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts