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