关于 dotnet-tooling
dotnet-tooling 是面向 .NET 开发者的技能指南,覆盖项目配置、构建系统、性能、CLI 应用和开发工具。它按主题索引配套参考文件,便于选择相应指导。
主要功能
- 01指导解决方案结构与项目脚手架
- 02涵盖 MSBuild 编写与构建优化
- 03提供性能分析及内存调优主题
- 04指导 Native AOT 与裁剪
- 05涵盖 CLI 应用开发与分发
- 06支持 SDK 版本检测和升级
适用场景
- 01搭建或分析 .NET 项目结构
- 02排查缓慢构建与 NuGet 错误
- 03规划 CLI 工具的架构和发布
- 04评估 Native 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、分析器 | .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、条件、Directory.Build | Targets、props、条件、Directory.Build 模式 | references/msbuild-authoring.md |
| MSBuild 任务 | ITask、ToolTask、内联任务、UsingTask | ITask、ToolTask、IIncrementalTask、内联任务 | references/msbuild-tasks.md |
| 构建分析 | MSBuild 输出、NuGet 错误、分析器警告 | MSBuild 输出、NuGet 错误、分析器警告 | references/build-analysis.md |
| 构建优化 | 慢速构建、二进制日志、并行、还原 | 慢速构建、二进制日志、并行、还原 | references/build-optimization.md |
| 构建产物输出 | UseArtifactsOutput、ArtifactsPath、CI/Docker | UseArtifactsOutput、ArtifactsPath、对 CI/Docker 的影响 | references/artifacts-output.md |
| 多目标框架 | 多个 TFM、polyfills、条件编译 | 多个 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、火焰图 | dotnet-counters、dotnet-trace、dotnet-dump、火焰图 | references/profiling.md |
| Native AOT | PublishAot、ILLink、P/Invoke、大小优化 | PublishAot、ILLink 描述符、P/Invoke、大小优化 | references/native-aot.md |
| AOT 架构 | 源代码生成、AOT 安全的 DI、序列化 | 优先使用源代码生成而非反射、AOT 安全的 DI、工厂 | references/aot-architecture.md |
| 裁剪 | 注解、ILLink、IL2xxx 警告、IsTrimmable | 注解、ILLink、IL2xxx 警告、IsTrimmable | references/trimming.md |
| GC/内存 | GC 模式、LOH/POH、Span/Memory、ArrayPool | GC 模式、LOH/POH、Gen0/1/2、Span/Memory、ArrayPool | references/gc-memory.md |
| CLI 架构 | 命令/处理程序/服务、clig.dev、退出代码 | 命令/处理程序/服务、clig.dev、退出代码 | references/cli-architecture.md |
| System.CommandLine | RootCommand、Option、SetAction、解析 | System.CommandLine 2.0、RootCommand、Option | references/system-commandline.md |
| Spectre.Console | 表格、树、进度、提示词、实时显示 | 表格、树、进度、提示词、实时显示 | references/spectre-console.md |
| Terminal.Gui | 视图、布局、菜单、对话框、绑定、主题 | Terminal.Gui v2、视图、布局、菜单、对话框 | references/terminal-gui.md |
| CLI 分发 | AOT 与依赖框架、RID 矩阵、Homebrew、winget、Scoop、dotnet tool | 分发策略、单文件发布、按平台打包 | references/cli-distribution.md |
| CLI 发布流水线 | GHA 构建矩阵、产物暂存、校验和 | GHA 构建矩阵、产物暂存、校验和 | references/cli-release-pipeline.md |
| 文档策略 | Starlight、Docusaurus、DocFX 决策树 | Starlight、Docusaurus、DocFX 决策树 | references/documentation-strategy.md |
| 工具管理 | 全局、本地、清单、还原、固定版本 | 全局/本地工具、清单、还原、固定版本 | references/tool-management.md |
| 版本检测 | 从 .csproj 获取 TFM/SDK、global.json | 从 .csproj 获取 TFM/SDK、global.json、Directory.Build | references/version-detection.md |
| 版本升级 | 从 LTS 升级到 LTS、分阶段、预览版、升级路径 | 从 LTS 升级到 LTS、分阶段经过 STS、预览版路径 | references/version-upgrade.md |
| 解决方案导航 | 入口点、.sln/.slnx、依赖关系图 | 入口点、.sln/.slnx、依赖关系图 | references/solution-navigation.md |
| 项目分析 | 解决方案布局、构建配置分析 | 解决方案布局、构建配置、.csproj 分析 | references/project-analysis.md |
| 现代化改造 | 过时的 TFM、已弃用的包、模式 | 过时的 TFM、已弃用的包、已被取代的模式 | references/modernize.md |
| 添加分析器 | 可空性、裁剪、AOT 兼容性、严重级别配置 | 可空性、裁剪、AOT 兼容性分析器、严重级别 | references/add-analyzers.md |
| SDK 安装 | 安装 .NET、dotnet-install、工作负载、缺少 SDK | .NET SDK 安装脚本、工作负载、环境变量、并行安装 | references/dotnet-sdk-install.md |
| ILSpy 反编译 | ilspycmd、反编译、程序集、反汇编、IL | 使用 ILSpy/ilspycmd 反编译、类型列表、IL 视图 | references/ilspy-decompile.md |
| Mermaid 图表 | 架构、时序、类、ER、流程图 | 架构图、时序图、类图、部署图、ER 图 | references/mermaid-diagrams.md |
| VS Code 调试 | launch.json、tasks.json、coreclr、附加、调试 | VS Code 启动/附加配置、任务、多项目、热重载 | references/vscode-debug.md |
| C# LSP | 语言服务器、csharp-ls、OmniSharp、转到定义 | C# LSP 服务端、代码导航、Agent 使用模式 | 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),用于 Agent 代码导航
范围之外
- 崩溃转储分析、挂起/死锁排查、实时调试器附加 →
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