虽然如今是图形化大行其道的时代,但让程序支持命令行启动对于专业的领域仍是有很多需求的。.net自己并无内置对命令行解析的支持,我以前就写过一篇文章让.Net程序支持命令行启动介绍了几个第三方的命令行项目。html
今天发现了一个微软自家的命令行工具: CommandLineUtils,用它能够快速开发专业的命令行程序。这个包在Nuget上能够下载:git
Microsoft.Extensions.CommandLineUtilsgithub
它本是微软给.net core准备的,依赖于.net standard库。得益于该项目开源的缘由,对于.net 4.5如下的用户,有人把它改形成了.net 2.0环境也能使用的库:工具
Net20.Extensions.CommandLineUtilspost
一个简单的示例以下:spa
static void Main(string[] args)
{
var cmd = new CommandLineApplication();
var argAdd = cmd.Option("-a | --add <value>", "Add a new item", CommandOptionType.SingleValue);
cmd.OnExecute(() =>
{
Console.WriteLine(argAdd.Value());
return 0;
});
cmd.HelpOption("-? | -h | --help");
cmd.Execute(args);
} .net
执行效果以下: 命令行
关于这个库,网上也有很多文章介绍它,感兴趣的朋友能够看一下 htm