SuperAPI AI 工具集

template-instantiation

测试与质量

查看项目

更新于 10-16 00:05

技能介绍

用途:根据用户意图用 dotnet new 创建 .NET 项目、应用或服务,并让新项目与所在仓库保持一致。

主要能力:解析模板与参数;用 dotnet new <template> --help 查看可用参数与默认值;结合 template-smart-defaults 填补未指定参数;检测工作区是否启用中央包管理(Directory.Packages.props)、相邻 .csproj 的目标框架(TFM)与 global.json;用 --dry-run 预览;创建后适配 CPM 并刷新过期版本;支持多项目解决方案组合与模板包安装卸载。

使用方式:先解析模板与参数,再分析工作区,随后按顺序执行检查、dry-run、创建、构建,不要并行创建与构建。创建前输出一行决策说明:Creating <template> at <path>; framework=<value> (<user|workspace|template>); CPM=<on|off>。示例:dotnet new webapi --name MyApi --output ./src/MyApi --framework net10.0 --auth Individual。多项目示例:dotnet new webapi --name MyApi --output ./src/MyApi;dotnet new xunit --name MyApi.Tests --output ./tests/MyApi.Tests;dotnet add ./tests/MyApi.Tests reference ./src/MyApi;dotnet sln add ./src/MyApi ./tests/MyApi.Tests。模板包管理:dotnet new install Microsoft.DotNet.Web.ProjectTemplates.10.0 与 dotnet new uninstall 同名包。

CPM 适配:创建前向上查找 Directory.Packages.props;若模板支持 --no-restore 则创建时传入,先集中版本再还原;移除生成的 PackageReference 内联 Version,改为在 Directory.Packages.props 中添加或合并 PackageVersion;默认保留模板版本,仅在用户要求时用 dotnet list package --outdated 刷新,并限制在同主版本内,除非用户明确同意更大升级;不选预发布版本。

适用场景:创建新 .NET 项目、多项目解决方案、需遵循现有 CPM 的项目、安装或管理模板包。

限制:不用于搜索模板(转 template-discovery)、模板对比(转 template-comparison)、编写自定义模板(转 template-authoring)或向已有项目加包(直接用 dotnet add package)。不要预测生成的目标框架;未提供时查看帮助选受支持值并显式传入。创建后运行 dotnet build 验证;可运行模板在无外部依赖时可运行并报告输出。具体模板参数、默认值与版本以当前 CLI 帮助为准。