我已将CommandLineParser库添加到我的项目中,并且配置了应提供给我的项目的所有参数,以支持它们的静默安装。
正在使用相同参数的每个必需参数和非必需参数创建具有一些“ Option”属性的InstallOptions类。下面
public class InstallOptions
{
[Option("path", Required = true, HelpText = "The installation path where you want the application installed.")]
public string InstallPath { get; set; }
[Option("dbname", Required = true, HelpText = "Database name.")]
public string DbName { get; set; }
[Option("dbserver", Required = true, HelpText = "Database server name or IP address.")]
public string DbServer { get; set; }
[HelpOption]
public string DisplayHelpOnParseError()
{
var help = new HelpText()
{
AddDashesToOption = true
};
var errors = "";
if (LastParserState.Errors.Any())
{
errors = help.RenderParsingErrorsText(this, 0);
}
//HACK fix where if help.addoptions is called more than once it truncates the output
if (_help == null)
{
help.AddOptions(this);
_help = help;
}
else
{
return String.IsNullOrEmpty(errors) ? _help : "ERROR(S):" + errors + _help;
}
return help;
}
}
我要从我的program.cs文件中进行调试,如下所示运行我的项目
public static void Main(string[] args)
{
args = new string[3];
args[0] = "--path C:\\Program files\MyProject";
args[1] = "--dbname myDBName";
args[2] = "--dbserver myDBServer";
var result = Parser.Default.ParseArguments(args, installOptions);
if (!result) throw new ArgumentException(installOptions.DisplayHelpOnParseError());
}
在上面的代码中,我一直都得到result = false并且状态抛出以下错误消息
-必需的路径。您要在其中安装应用程序的安装路径。
-需要dbname。数据库名称。
-需要dbserver。数据库服务器名称或IP地址。
请帮助我如何将所有3个参数传递给我的项目以测试其是否正常工作。
预先感谢