我必须解析一个强加的命令行,它将单/双破折号 args、args 与=
或
作为分隔符等混合在一起(不是很合适....)
命令行就像myexe.exe -Url=https://blabla.com/ --TestValue=val1 -monoapp -Ctx "default ctx" Open -Test2=CO0ZJP6f-ca
我正在尝试使用commandlineparser来做到这一点。(我想它能够做到这一点,对吧?)
所以首先我试图解析第一个参数(myexe.exe -Url=https://blabla.com/
)。
public class CommandLineOptions
{
[Option("Url", Required = true)]
public string Url { get; set; }
}
....... In another file but in the same assembly
static void Main(string[] args) // args[0] = "-Url=https://blabla.com/"
{
var commandLineOptions = new CommandLineOptions();
var parseResult = Parser.Default.ParseArguments<CommandLineOptions>(args).WithParsed(result => commandLineOptions = result);
System.Console.WriteLine(parseResult.Tag); //NotParsed
System.Console.WriteLine(commandLineOptions.Url);
}
使用该代码,我有 2 个错误CommandLine.MissingRequiredOptionError
和CommandLine.UnknownOptionError
.
(MissingRequiredOptionError
因为找不到 Url 参数而产生)
所以你知道我的错误在哪里吗?
在此先感谢您的帮助 ;)