Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

コンソールアプリケーションのサンプルアプリケーションを追加する #124

Open
tsuna-can-se opened this issue Jun 22, 2022 · 2 comments
Labels
定期的な確認が必要 他のサービスの不具合亜解消待ちなど、定期的な情報のアップデートが必要である 要望 新機能や要望

Comments

@tsuna-can-se
Copy link
Contributor

tsuna-can-se commented Jun 22, 2022

Dresscaに追加する想定。
https://github.com/dotnet/command-line-api

2022/09/02 現在の調査

https://github.com/dotnet/command-line-api
現時点で出ているバージョンは2.0.0-beta4.22272.1が最新。
Issueを読み漁ると、APIのデザインレベルで議論が継続しており、APIは全く安定していない。
βバージョンが変わると相当な非互換がこれまでも発生している。
またβ4を使って手元でサンプルを作ってみたところ、APIが不足しており綺麗にコーディングできない状況であった。
現在のバージョンを対象にしてコンソールアプリケーションのサンプルとすることは難しいと思われる。
継続して確認を続けるが、少なくともβ版の間はあまり役に立たない可能性が高い。

2022/09/05 現在の調査

コンソールアプリケーションでほしいのは、DI系の機能とコマンドライン引数のパース処理。
ConsoleAppFrameworkは目指すところとして最適なのだが、利用実績があまりなく、APIの安定感が未知数。
CommandLineParserのほうが有名で、少し前に.NET Blogでも取り上げられていた。
https://github.com/commandlineparser/commandline
DI系の機能はGenericHostに依存するとして、コマンドライン引数をパースするところはできる限りOSSに依存してしまいたい。
GenericHostとCommandLineParserを連結するところに一工夫必要(少なくともCommandLineParserはDIに対応していない)。

2022/09/15 現在の調査

Commandline Apiは、将来的に.NETのコンソールアプリケーション実装の中核となっていくはず。
MS docsや名前空間の設計を見ても、その方向性であることは読み取れる。
https://docs.microsoft.com/ja-jp/dotnet/standard/commandline/
とはいえ、現時点でこれを使うのは、明らかに無理がある。
よって「要件別サンプル」としての位置付けで、CommandLineParserとDIを連結したサンプルを作成する方向で考える。
将来的にCommandline Apiが充実してきたら、CommandLineParserとDIのサンプルは削除して差し替える。
一時しのぎになるかもしれないが、現実に困っているところがあるので無理のない方法で対応していきたい。

2023/09/27 現在の調査

https://github.com/dotnet/command-line-api
上記に新しいバージョンはリリースされていない。
引き続き注視。

2023/12/06 現在の調査

https://github.com/dotnet/command-line-api
上記に新しいバージョンはリリースされていない。
dotnetのランタイム側に同等の機能実装が入る可能性が示唆されているが、こちらも進捗は特になさそう。
dotnet/runtime#84177

2024/04/11 現在の調査

dotnet/command-line-api#2338
このIssueにあるとおり、System.CommandLineは再設計されることになった模様。
現在再設計作業が行われているが、マイルストーン等の公開はない。

@kharada7
Copy link
Contributor

方針に特に異論はありませんが、「要件別サンプル」をどのような要件として作成するのか気になりました。

@tsuna-can-se
Copy link
Contributor Author

CommandLineParserとDIを連結したサンプルについては以下のIssueで対応する。
#182

本Issueでは引き続きSystem.CommandLineの動向を注視する。

@tsuna-can-se tsuna-can-se added the 定期的な確認が必要 他のサービスの不具合亜解消待ちなど、定期的な情報のアップデートが必要である label Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
定期的な確認が必要 他のサービスの不具合亜解消待ちなど、定期的な情報のアップデートが必要である 要望 新機能や要望
Projects
None yet
Development

No branches or pull requests

2 participants