我有这两个属性:
[Option("IpAddress1")]
public string IpAddress1 { get; set; }
[Option("IpAddress2")]
public string IpAddress2 { get; set; }
当使用这些参数运行时:
--IpAddress1 "1.1.1.1" --IpAddress2" 1.1.1.1"
我得到“MissingValueOptionError”。
运行时:
--IpAddress1 "1.1.1.1" --IpAddress2 "1.1.1.2"
一切正常。
知道为什么吗?
CommandLineParser nuget: https ://github.com/gsscoder/commandline
Update1:看起来它与设置“_.IgnoreUnknownArguments = true;”有关
new Parser(
_ =>
{
_.CaseSensitive = false;
_.HelpWriter = helpWriter;
_.IgnoreUnknownArguments = true;
}).
ParseArguments<T>(commandLineArguments).
WithParsed(_ => parsedFromCommandLineArguments = _).
WithNotParsed(
_ =>
{
parseSucceeded = false;
if (_.Any(
__ => __.Tag == ErrorType.HelpRequestedError ||
__.Tag == ErrorType.HelpVerbRequestedError))
{
isHelpRequestedDetected = true;
}
});