DeclarativeCommandLine.Generator 2.0.0-gea62d61c76

This is a prerelease version of DeclarativeCommandLine.Generator.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DeclarativeCommandLine.Generator --version 2.0.0-gea62d61c76
                    
NuGet\Install-Package DeclarativeCommandLine.Generator -Version 2.0.0-gea62d61c76
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DeclarativeCommandLine.Generator" Version="2.0.0-gea62d61c76" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DeclarativeCommandLine.Generator" Version="2.0.0-gea62d61c76" />
                    
Directory.Packages.props
<PackageReference Include="DeclarativeCommandLine.Generator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DeclarativeCommandLine.Generator --version 2.0.0-gea62d61c76
                    
#r "nuget: DeclarativeCommandLine.Generator, 2.0.0-gea62d61c76"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DeclarativeCommandLine.Generator@2.0.0-gea62d61c76
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DeclarativeCommandLine.Generator&version=2.0.0-gea62d61c76&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DeclarativeCommandLine.Generator&version=2.0.0-gea62d61c76&prerelease
                    
Install as a Cake Tool

Declarative Command Line

GitHub Actions

NuGet latest release

Attribute-driven layer on top of System.CommandLine to make the most common use cases easier to set up.

Minimalistic Example

A minimal example, using DI to instantiate command objects:

Add NuGet Packages

<ItemGroup>
  <PackageReference Include="DeclarativeCommandLine" Version="2.0.0-g498c5dd86c" />
  <PackageReference Include="DeclarativeCommandLine.Generator" Version="2.0.0-g498c5dd86c" />
  <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9"/>
</ItemGroup>

Program.cs

using DeclarativeCommandLine;
using Microsoft.Extensions.DependencyInjection;

namespace MyApp;

[Command(Description = "Math commands")]
public class AppRootCommand
{
}

[Command(Description = "Add 2 numbers", Parent = typeof(AppRootCommand))]
public class AddCommand : ICommand
{
    [Option(Required = true)]
    public int ValueA { get; set; }

    [Option(Required = true)]
    public int ValueB { get; set; }

    public void Execute()
    {
        Console.WriteLine($"A={ValueA} + {ValueB} = {ValueA + ValueB}");
    }
}

public static class Program
{
    public static int Main(string[] args)
    {
        var p = new ServiceCollection()
            .AddTransient<AppRootCommand>()
            .AddTransient<AddCommand>()
            .BuildServiceProvider();

        return new CommandBuilder()
            .Build(t => p.GetRequiredService(t))
            .Parse(args)
            .Invoke();
    }
}
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.10 64 1/29/2026
2.0.10-gf94ac20f39 50 1/29/2026
2.0.9 144 1/8/2026
2.0.9-geb2b5347ad 78 1/20/2026
2.0.9-g9e9a184db8 85 1/8/2026
2.0.9-g9ca013ae77 74 1/20/2026
2.0.9-g6b20a2e36c 80 1/20/2026
2.0.9-g5faf7a37a6 61 1/28/2026
2.0.9-g380f67a4e6 83 1/23/2026
2.0.8 88 1/7/2026
2.0.8-gfc22e4cb06 83 1/7/2026
2.0.8-g9e463e3b3d 78 1/6/2026
2.0.8-g0ad8ce0a04 85 1/7/2026
2.0.7 92 1/6/2026
2.0.7-ga053346dae 76 1/6/2026
2.0.7-g45ae65d897 84 1/6/2026
2.0.6 95 1/5/2026
2.0.6-g2f5f702623 83 1/5/2026
2.0.5 495 11/11/2025
2.0.5-gea1e4ae1df 279 11/13/2025
2.0.5-ge6c7c87265 434 12/9/2025
2.0.5-gd8cf18ea7c 397 11/19/2025
2.0.5-ga96eae29db 231 12/15/2025
2.0.5-ga1c501d4da 280 11/12/2025
2.0.5-g8e2fac570b 204 11/9/2025
2.0.5-g8b12b86e90 277 11/11/2025
2.0.5-g88b4aecf18 181 11/25/2025
2.0.5-g8550c66d36 184 11/25/2025
2.0.5-g820069a1a5 226 12/15/2025
2.0.5-g610ddeca77 679 12/1/2025
2.0.5-g4598336118 88 1/4/2026
2.0.5-g3a45d269f8 281 11/11/2025
2.0.5-g35b7f5f92f 171 12/25/2025
2.0.4 192 11/1/2025
2.0.4-gb4cf6347cf 139 11/1/2025
2.0.4-g451b2d9552 125 11/1/2025
2.0.3 240 10/20/2025
2.0.3-geeb1c61699 178 10/20/2025
2.0.3-gcc6c4d69d1 187 10/29/2025
2.0.3-gc66b481f11 134 11/1/2025
2.0.3-ga9f6104077 128 11/1/2025
2.0.3-ga91f28fae6 188 10/27/2025
2.0.3-g9ab6cbd9b2 182 10/20/2025
2.0.3-g8dcdeb6c64 128 11/1/2025
2.0.3-g84e9b8e2eb 137 11/1/2025
2.0.3-g71218364b0 128 11/1/2025
2.0.3-g5a5b8e59d4 134 11/1/2025
2.0.3-g591863a1ad 138 11/1/2025
2.0.3-g4b9181987b 135 11/1/2025
2.0.3-g2f1c2590d3 180 10/19/2025
2.0.3-g08f8ed0a24 131 11/1/2025
2.0.2-gf66bfa5fb2 182 10/16/2025
2.0.2-gd3756f7444 175 10/6/2025
2.0.1-ge9dcc09990 183 9/23/2025
2.0.1-gdc08a8e864 187 9/23/2025
2.0.1-gc766f67b57 180 9/23/2025
2.0.1-g46d6bf17ab 179 9/23/2025
2.0.1-g2d66c9ebfb 173 9/23/2025
2.0.1-g08fe98beb7 185 9/30/2025
2.0.0-gea62d61c76 178 9/23/2025
2.0.0-gde3a002bb3 202 9/22/2025
2.0.0-gc2dbf534be 180 9/23/2025
2.0.0-gb9f9149db0 177 9/21/2025
2.0.0-gb85974762d 177 9/23/2025
2.0.0-gb6fbe1d722 191 9/22/2025
2.0.0-g498c5dd86c 187 9/23/2025
2.0.0-g409835df06 214 9/21/2025
2.0.0-g405b7ebebe 183 9/20/2025
2.0.0-g29ba6a745e 185 9/23/2025

2.0.0 Refactor to use a source generator
1.0.0 Initial release