commandlineparser / commandlineparser/commandline

Code crashes without any concrete error and no help documents

オープン
#928 コメント 1 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。