ConsoleAppFramework — Micro-framework for console applications, for C# .NET Core

Yoshifumi Kawai
2 min readJan 9, 2020

Formely, I posted MicroBatchFramework — Cloud Native Batch Framework for C#, this new framework is renamed, evolved version of MicroBatchFramework.

ConsoleAppFramework is built on Microsoft.Extensions(.NET Generic Host)that covering Logging, Configuration, DI, etc. ConsoleAppFramework do parameter binding, method routing, lifecycle management etc. It is like pair of ASP.NET Core, ASP.NET Core is for Web, ConsoleAppFramework is for CLI.

And so similar concept in PHP, Laravel and Laravel Zero that is Micro-framework for console applications. Microsoft’s competitor of ConsoleAppFramework is dotnet/commandline-api, it has System.CommandLine.Hosting and System.CommandLine.DragonFruit that is similar functionally. But ConsoleAppFramework is more stable and high productivity.

SampleApp.exe -name “foo” -repeat 5.

Simply define a method and is automatically binded to the parameter.

You can define shorthand parameter and descriptions.

It can be shown by “help”

> SampleApp.exe help
Usage: SampleApp [options…]

Options:
-n, -name <String> name of send user. (Required)
-r, -repeat <Int32> repeat count. (Default: 3)

This looks good, similar as dotnet command format.

ConsoleAppFramework also can build daemon, multi batch application, web-interface, etc. Please see ReadMe for the detail.

.NET Core 3.0 has nice infrastructure to build commandline application, SingleExecutableFile, .NET Core Global Tools and .NET Core Local Tools. Also useful to use git pull and dotnet run on CI.

ConsoleAppFramework helps there a good environment to more productivity, please try it.

--

--

Yoshifumi Kawai

a.k.a. neuecc. Creator of UniRx, UniTask, MessagePack for C#, MagicOnion etc. Microsoft MVP for C#. CEO/CTO of Cysharp Inc. Live and work in Tokyo, Japan.