Cocona 를 이용하면 콘솔에서 실행하는 애플리케이션을 구조적으로 만들 수 있습니다.
ASP.NET Core와 유사한 미니멀 API
UNIX 도구 표준과 같은 명령줄 옵션 처리
기본 제공 도움말 문서 지원
사용자 정의 가능한 CLI 프레임워크
using Cocona;
CoconaApp.Run((string name) =>
{
Console.WriteLine($"Hello {name}");
})
$ dotnet run
Usage: ConsoleAppSample [--name <String>]
Options:
--name <String> (Required)
-h, --help Show help message
--version Show version
$ dotnet run -- --name Cocona
Hello Cocona
6개의 좋아요
저도 Cocona를 통해 Console의 신세계를 접했었는데…
매번 콘솔앱에도 IoC Container를 보일러 플레이트처럼 생각없이 붙이다가 문득 Cocona에 제네릭 호스트가 붙어있는 것은 없을까 하던 찰나에 Cocona 문서의 가장 마지막 줄 을 읽어보고 Cocona에서 ConsoleAppFramework 로 갈아타게되었습니다.
단지 ConsoleAppFramework는 .net core 이상의 환경에서 최신 버전들을 지원하기 때문에 .NET Framework 4.8 환경에서는 어쩔 수 없이 Cocona + Generic Host 환경에서 개발하고 있네요. ㅠㅠ
디모이님께서도 일전에 소개해주셨습니다.
Cysharp 에 훌륭한 오픈 소스 프로젝트가 많이 있네요.
오늘 소개해 드릴 ConsoleAppFramework 은 콘솔 애플리케이션을 만들 때 쉽게 CLI(명령줄 인터페이스) 도구 및 데몬, 다중 배치 응용 프로그램을 만들 수 있는 훌륭한 환경을 제공합니다. 또한 .NET Core Generic Host 기반이기 때문에 GenericHost 기반 환경과 쉽게 통합이 됩니다.
// Register two commands(use short-name, argument)
// hello -m
// sum [x] [y]
var app = ConsoleApp.Create(args);
app.AddCommand("hello", ([Option("m", "Message to display.")] string message) => Console.WriteLine($"Hello {message}"));
app.AddCommand("sum", ([Option(0)] int x, [Option(1)…
포럼에서도 2번이나 소개되었네요.
(다 같은 회사 사람들…대단대단…)
5개의 좋아요
ConsoleAppFramework 만든 분이 게임 개발자인데 게임 개발쪽은 신규 게임 개발 할때는 언제나 그때의 최신 기술을 사용하는 경향이 있어서 이 분도 오래된 버전은 잘 지원하지 않는 것 같습니다. 보통 최저 기준이 Unity에서 지원하는 닷넷 버전입니다
3개의 좋아요
System.CommandLine은 유기된걸까요… 시험판에서 전혀 손보지 않고있네요
System.CommandLine.DragonFruit 적용해보니 편한데 제대로 쓰기에는 어설펏거든요
2개의 좋아요