commandlineparser / commandlineparser/commandline
Code crashes without any concrete error and no help documents
- 主要語言
- 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