commandlineparser / commandlineparser/commandline

Code crashes without any concrete error and no help documents

未關閉
#928 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
C#
星號
4.8k
分支
478
PR 合併指標
30 天內沒有已合併 PR

描述

Basic example crashes with this error on start:
> ERROR(S):
No verb selected.
add Add file contents to the index.
commit Record changes to the repository.
clone Clone a repository into a new directory.
help Display more information on a specific command.
version Display version information.

Process finished with exit code 1.

- If I need to debug it, how it's being done?

```csharp
[Verb("add", HelpText = "Add file contents to the index.")]
class AddOptions {
//normal options here
}
[Verb("commit", HelpText = "Record changes to the repository.")]
class CommitOptions {
//commit options here
}
[Verb("clone", HelpText = "Clone a repository into a new directory.")]
class CloneOptions {
//clone options here
}

static int Main(string[] args) {
return CommandLine.Parser.Default.ParseArguments(args)
.MapResult(
(AddOptions opts) => RunAddAndReturnExitCode(opts),
(CommitOptions opts) => RunCommitAndReturnExitCode(opts),
(CloneOptions opts) => RunCloneAndReturnExitCode(opts),
errs => 1);
}

private static int RunCloneAndReturnExitCode(CloneOptions opts)
{
return 1;
}

private static int RunCommitAndReturnExitCode(CommitOptions opts)
{
return 1;
}

private static int RunAddAndReturnExitCode(AddOptions opts)
{
return 0;
}
}
```

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

從 issue 中展示的基本範例開始,重現經過 Parser.Default.ParseArguments(args) 的啟動路徑。檢查沒有 verb 時如何回報結果,以及顯示的錯誤是否為此範例提供了足夠的指引。當對於不帶命令執行此範例的使用者而言,啟動行為和除錯指引都清楚時,即視為完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
csharp
領域
cli
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
需要釐清
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。