dotnet-tooling について
dotnet-toolingは、プロジェクト設定、ビルドシステム、パフォーマンス、CLIアプリ、開発ツールを扱う.NET開発者向けスキルガイドです。トピック別の索引から、対応する参考資料を参照できます。
主な機能
- 01ソリューション構成とプロジェクト作成の案内
- 02MSBuild作成とビルド最適化の解説
- 03プロファイリングとメモリ調整の情報
- 04Native AOTとトリミングの案内
- 05CLIアプリの開発と配布の解説
- 06SDKバージョン検出とアップグレードの支援
活用シーン
- 01.NETプロジェクト構成の作成や分析
- 02ビルド遅延やNuGetエラーの調査
- 03CLIツールの設計と配布の計画
- 04Native AOTやGC設定の検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ novotnyllc/ dotnet-artisan --skill dotnet-toolingインストール後、Claude Code で/dotnet-toolingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/add-analyzers.mdaot-architecture.mdartifacts-output.mdbuild-analysis.mdbuild-optimization.mdcli-architecture.mdcli-distribution.mdcli-release-pipeline.mdcsharp-lsp.mdcsproj-reading.mddocumentation-strategy.mddotnet-sdk-install.mdgc-memory.mdilspy-decompile.mdmermaid-diagrams.mdmodernize.mdmsbuild-authoring.mdmsbuild-tasks.mdmulti-targeting.mdnative-aot.mdperformance-patterns.mdprofiling.mdproject-analysis.mdproject-structure.mdscaffold-project.mdsolution-navigation.mdspectre-console.mdsystem-commandline.mdterminal-gui.md詳細
dotnet-tooling
概要
.NET プロジェクトのセットアップ、ビルドシステム、パフォーマンス、CLI アプリ、開発者向けツールを扱います。この統合スキルは 34 のトピック領域にまたがります。以下のルーティングテーブルに基づいて、references/ から適切な補助ファイルを読み込んでください。
ルーティングテーブル
| トピック | キーワード | 説明 | 関連ファイル |
|---|---|---|---|
| プロジェクト構成 | solution, .slnx, CPM, analyzers | .slnx、Directory.Build.props、CPM、アナライザー | references/project-structure.md |
| プロジェクトのスキャフォールディング | dotnet new, CPM, SourceLink, editorconfig | CPM、アナライザー、editorconfig、SourceLink を使用した dotnet new | references/scaffold-project.md |
| Csproj の読み取り | PropertyGroup, ItemGroup, CPM, props | SDK スタイルの .csproj、PropertyGroup、ItemGroup、CPM | references/csproj-reading.md |
| MSBuild の作成 | targets, props, conditions, Directory.Build | Targets、props、条件、Directory.Build のパターン | references/msbuild-authoring.md |
| MSBuild タスク | ITask, ToolTask, inline tasks, UsingTask | ITask、ToolTask、IIncrementalTask、インラインタスク | references/msbuild-tasks.md |
| ビルドの分析 | MSBuild output, NuGet errors, analyzer warnings | MSBuild の出力、NuGet エラー、アナライザーの警告 | references/build-analysis.md |
| ビルドの最適化 | slow builds, binary logs, parallel, restore | ビルドの低速化、バイナリログ、並列処理、restore | references/build-optimization.md |
| 成果物の出力 | UseArtifactsOutput, ArtifactsPath, CI/Docker | UseArtifactsOutput、ArtifactsPath、CI/Docker への影響 | references/artifacts-output.md |
| マルチターゲティング | multiple TFMs, polyfills, conditional compilation | 複数の TFM、PolySharp、条件付きコンパイル | references/multi-targeting.md |
| パフォーマンスパターン | Span, ArrayPool, ref struct, sealed, stackalloc | Span、ArrayPool、ref struct、sealed、stackalloc | references/performance-patterns.md |
| プロファイリング | dotnet-counters, dotnet-trace, flame graphs | dotnet-counters、dotnet-trace、dotnet-dump、フレームグラフ | references/profiling.md |
| Native AOT | PublishAot, ILLink, P/Invoke, size optimization | PublishAot、ILLink 記述子、P/Invoke、サイズ最適化 | references/native-aot.md |
| AOT アーキテクチャ | source gen, AOT-safe DI, serialization | リフレクションよりソース生成、AOT セーフな DI、ファクトリ | references/aot-architecture.md |
| トリミング | annotations, ILLink, IL2xxx warnings, IsTrimmable | アノテーション、ILLink、IL2xxx 警告、IsTrimmable | references/trimming.md |
| GC/メモリ | GC modes, LOH/POH, Span/Memory, ArrayPool | GC モード、LOH/POH、Gen0/1/2、Span/Memory、ArrayPool | references/gc-memory.md |
| CLI アーキテクチャ | command/handler/service, clig.dev, exit codes | コマンド/ハンドラー/サービス、clig.dev、終了コード | references/cli-architecture.md |
| System.CommandLine | RootCommand, Option, SetAction, parsing | System.CommandLine 2.0、RootCommand、Option | references/system-commandline.md |
| Spectre.Console | tables, trees, progress, prompts, live displays | テーブル、ツリー、進捗状況、プロンプト、ライブ表示 | references/spectre-console.md |
| Terminal.Gui | views, layout, menus, dialogs, bindings, themes | Terminal.Gui v2、ビュー、レイアウト、メニュー、ダイアログ | references/terminal-gui.md |
| CLI の配布 | AOT vs framework-dependent, RID matrix, Homebrew, winget, Scoop, dotnet tool | 配布戦略、単一ファイルの発行、プラットフォームごとのパッケージ化 | references/cli-distribution.md |
| CLI リリースパイプライン | GHA build matrix, artifact staging, checksums | GHA ビルドマトリックス、成果物のステージング、チェックサム | references/cli-release-pipeline.md |
| ドキュメント戦略 | Starlight, Docusaurus, DocFX decision tree | Starlight、Docusaurus、DocFX の判断ツリー | references/documentation-strategy.md |
| ツール管理 | global, local, manifests, restore, pinning | グローバル/ローカルツール、マニフェスト、restore、バージョン固定 | references/tool-management.md |
| バージョンの検出 | TFM/SDK from .csproj, global.json | .csproj からの TFM/SDK、global.json、Directory.Build | references/version-detection.md |
| バージョンのアップグレード | LTS-to-LTS, staged, preview, upgrade paths | LTS から LTS への移行、STS を経由した段階的な移行、プレビュー版への移行経路 | references/version-upgrade.md |
| ソリューションのナビゲーション | entry points, .sln/.slnx, dependency graphs | エントリポイント、.sln/.slnx、依存関係グラフ | references/solution-navigation.md |
| プロジェクト分析 | solution layout, build config analysis | ソリューションの構成、ビルド設定、.csproj の分析 | references/project-analysis.md |
| モダナイズ | outdated TFMs, deprecated packages, patterns | 古い TFM、非推奨パッケージ、置き換えられたパターン | references/modernize.md |
| アナライザーの追加 | nullable, trimming, AOT compat, severity config | nullable、トリミング、AOT 互換性アナライザー、重大度 | references/add-analyzers.md |
| SDK のインストール | install .NET, dotnet-install, workloads, missing SDK | .NET SDK インストールスクリプト、ワークロード、環境変数、サイドバイサイド | references/dotnet-sdk-install.md |
| ILSpy による逆コンパイル | ilspycmd, decompile, assembly, disassemble, IL | ILSpy/ilspycmd による逆コンパイル、型の一覧表示、IL ビュー | references/ilspy-decompile.md |
| Mermaid 図 | architecture, sequence, class, ER, flowcharts | アーキテクチャ図、シーケンス図、クラス図、デプロイ図、ER 図 | references/mermaid-diagrams.md |
| VS Code のデバッグ | launch.json, tasks.json, coreclr, attach, debug | VS Code の起動/アタッチ設定、タスク、複数プロジェクト、ホットリロード | references/vscode-debug.md |
| C# LSP | language server, csharp-ls, OmniSharp, go to definition | C# LSP サーバー、コードナビゲーション、エージェントの使用パターン | references/csharp-lsp.md |
対象範囲
- ソリューション構成とプロジェクトのひな形作成
- MSBuild の記述とビルドの最適化
- パフォーマンスのパターンとプロファイリング
- Native AOT、トリミング、GC のチューニング
- CLI アプリの開発(System.CommandLine、Spectre.Console、Terminal.Gui)
- ドキュメントの生成(DocFX)
- ツールの管理とバージョンの検出/アップグレード
- ソリューションのナビゲーションとプロジェクトの分析
- コードのモダナイゼーションとアナライザーの設定
- Mermaid 図の生成
- VS Code のデバッグ設定(launch.json、tasks.json、coreclr)
- エージェントによるコードナビゲーション向けの C# LSP サーバー(csharp-ls、OmniSharp)
対象外
- クラッシュダンプの分析、ハング/デッドロックのトリアージ、実行中のデバッガーのアタッチ →
dotnet-debugging - Web API のパターン →
dotnet-api - テストの作成 →
dotnet-testing - CI/CD パイプライン →
dotnet-devops - C# 言語のパターン →
dotnet-csharp - UI フレームワークの開発 →
dotnet-ui
スクリプト
scripts/scan-dotnet-targets.py-- リポジトリ内の .NET TFM と SDK バージョンのシグナルをスキャンします
コメント
Markdown 対応