Nerdbank.GitVersioning VS CommandLineUtils

Compare Nerdbank.GitVersioning vs CommandLineUtils and see what are their differences.

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. (by dotnet)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Nerdbank.GitVersioning CommandLineUtils
7 9
1,296 2,170
1.0% -
8.3 5.3
23 days ago about 1 month ago
C# C#
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Nerdbank.GitVersioning

Posts with mentions or reviews of Nerdbank.GitVersioning. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-01.
  • How to set up automatic versioning
    2 projects | /r/dotnet | 1 Feb 2023
    i have been using Nerdbank GitVersioing https://github.com/dotnet/Nerdbank.GitVersioning
  • Question on detection multiple path changes
    3 projects | /r/azuredevops | 30 May 2022
    The https://github.com/Azure/ResourceModules repo (which I recommend strongly, if you are just starting with template specs/bicep modules) seems to be at least referencing https://github.com/dotnet/Nerdbank.GitVersioning though when I peeked at their pipelines I'm not sure if they are actually utilizing it for version numbers. For me it was a bit too complex approach, but might suit you.
  • CI/CD for .net 6, using GitHub actions
    3 projects | dev.to | 30 Nov 2021
    So, is there a complexity with delivering a NuGet package? Yes. NuGet package versioning can be a big undertaking when it comes to manual deployments, much less CD; as there is a requirement of NuGet packages being immutable. Does this mean that for every check in, on every potential branch that will be pushed to NuGet, you need to update some text file or code to indicate the next built version? That was my initial thinking, but thankfully that is not the case with the help of Nerdbank.GitVersioning.
  • Automatic .NET Versioning Tool
    5 projects | /r/dotnet | 10 Apr 2021
    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)
  • What is the “standard” method of versioning your applications?
    1 project | /r/csharp | 22 Jan 2021
    GitVersioning. Auto-increments based on commit. Integrates into your build and automatically adds AssemblyInfo. https://github.com/dotnet/Nerdbank.GitVersioning
  • Best practices for versioning in Release Pipelines
    2 projects | /r/azuredevops | 31 Dec 2020
  • Run EF Core Queries on SQL Server From Blazor WebAssembly
    18 projects | dev.to | 21 Sep 2020
    How to adopt a versioning strategy using tools like Nerdbank GitVersion

CommandLineUtils

Posts with mentions or reviews of CommandLineUtils. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-16.
  • Enforcing command line arguments with CommandLineUtils?
    1 project | /r/dotnet | 20 Oct 2022
    The library doesn't support that format, here you can see that MultipleValues means for example "-o value1 -o value2" Options Support options with multiple values · Issue #311 · natemcmaster/CommandLineUtils · GitHub
  • How do I run a single .class file in C#?
    1 project | /r/learncsharp | 29 Sep 2022
    You could roll your own with some command-line argument processing. You could write that yourself and use reflection, or for an example from a library I've used, example.
  • Best way to build a console app with command line parser and dependency injection?
    2 projects | /r/csharp | 16 Aug 2022
  • Parsing the command line in the .NET 6 new console format?
    1 project | /r/csharp | 31 Mar 2022
  • What's your favorite command line arg parser?
    7 projects | /r/csharp | 31 Jan 2022
  • Writing tests for CLI tool
    3 projects | dev.to | 14 Nov 2021
    I want to test how my tools generated files and folders in the destination with different arguments passed to the program. However, in my old code, I put all the logic of working with arguments in the static int main( string[] args) function. I could not use Interface and Dependency injection to mock the CLI tools because CommandLineUtils does not have an interface library. Luckily, I found this guidance from the owner of CommandLineUtils, and he advised that "Split the command-line argument parser and application execution into separate class structures" to test various options programmatically. It is a great suggestion, and I rewrote my program by adding class CommandLineOptions and adding logic to class Generator to make it works with CommandLineOptions. I can kill two birds with one stone by this change: code refactoring and writing better tests. Another problem I had was my folder structure. Before, I put the project's sln file, .git file , and src files in the root of the folder. However, when I added a new test project for Shinny-SSG, I had it outside my git folder, and it would be impossible to commit the change and put it in my remote repository. To resolve this, I had to change my folder structure to this:
  • Help with quite weird idea
    1 project | /r/csharp | 20 Oct 2021
  • C# equivalent to Pythons cmd module?
    5 projects | /r/csharp | 9 May 2021
  • Automatic .NET Versioning Tool
    5 projects | /r/dotnet | 10 Apr 2021
    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.

What are some alternatives?

When comparing Nerdbank.GitVersioning and CommandLineUtils you can also consider the following projects:

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

Command Line Parser - The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support

minver - 🏷 Minimalistic versioning using Git tags.

spectre.console - A .NET library that makes it easier to create beautiful console applications.

AspNetCore.Docs - Documentation for ASP.NET Core

Gui.cs - Cross Platform Terminal UI toolkit for .NET

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

Fluent Command Line Parser - A simple, strongly typed .NET C# command line parser library using a fluent easy to use interface

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

JustCli - Just a quick way to create your own command line tool

ExpressionPowerTools - Power tools for working with IQueryable and Expression trees.

Sieve - ⚗️ Clean & extensible Sorting, Filtering, and Pagination for ASP.NET Core