Мой друг предложил docopt.net ,
библиотека для разбора аргументов командной строки на основе библиотеки docopt для Node.JS. Он очень прост в использовании, но в то же время сложен и анализирует аргументы на основе написанной вами строки справки.
Вот пример кода:
using System;
using DocoptNet;
namespace MyProgram
{
static class Program
{
static void Main(string[] args)
{
// Usage string
string usage = @"This program does this thing.
Usage:
program set <something>
program do <something> [-o <optionalthing>]
program do <something> [somethingelse]";
try
{
var arguments = new Docopt().Apply(usage, args, version: "My program v0.1.0", exit: false);
foreach(var argument in arguments)
Console.WriteLine("{0} = {1}", argument.Key, argument.Value);
}
catch(Exception ex)
{
//Parser errors are thrown as exceptions.
Console.WriteLine(ex.Message);
}
}
}
}
Документацию по нему (включая формат сообщения справки) можно найти как по первой ссылке, так и по здесь .
Надеюсь, это кому-нибудь поможет!