前言¶
ASP.NET Core 同时存在 Blazor、Razor Pages、MVC、Minimal API、控制器 Web API 等多种应用模型,版本迭代也会带来 WebApplicationBuilder 与旧版 Startup 等差异。在 Agent 里改 Program.cs、加认证或做升级时,容易混用过时 API,或在不合适的场景里换应用模型。下面介绍 OpenAI Curated 目录下的 aspnet-core Skill:它用分主题的 reference 文档约束工作流,让助手按 Microsoft 当前文档风格选栈、搭管道、实现功能。
这是什么¶
aspnet-core 是 OpenAI 在 skills/.curated/aspnet-core 中维护的 Agent Skill。官方 description 写明:用于构建、审查、重构或架构 ASP.NET Core Web 应用,并遵循当前 .NET Web 开发的官方指引。
适用任务包括 Blazor Web Apps、Razor Pages、MVC、Minimal API、基于控制器的 Web API、SignalR、gRPC、中间件、依赖注入、配置、认证与授权、测试、性能、部署,以及 ASP.NET Core 版本升级等。Skill 要求只加载与当前任务匹配的最小 reference 集合,而不是默认加载全部资料。
核心功能¶
工作流(Workflow)¶
官方在 SKILL.md 中固定了阅读与执行顺序:
- 确认目标框架、SDK 与当前应用模型。
- 新建应用或大规模重构时,先打开
references/stack-selection.md。 - 再打开
references/program-and-pipeline.md,处理Program.cs、DI、配置、中间件、路由、日志与静态资源。 - 按应用类型只打开一个主 reference:
-references/ui-blazor.md
-references/ui-razor-pages.md
-references/ui-mvc.md
-references/apis-minimal-and-controllers.md - 按需追加横切主题 reference(数据与状态、安全、实时/gRPC/后台任务、测试与运维等)。
- 向旧方案引入新平台 API 或跨大版本迁移前,先读
references/versioning-and-upgrades.md。 - 任务未在 focused reference 中覆盖时,用
references/source-map.md对照 Microsoft Learn 文档树。
默认假设(Default Operating Assumptions)¶
- 除非仓库或用户指定旧版本,优先使用最新稳定版 ASP.NET Core 与 .NET。
- 截至 2026 年 3 月,新项目生产环境优先 .NET 10 / ASP.NET Core 10;ASP.NET Core 11 视为预览,除非用户明确要求预览特性。
- 优先
WebApplicationBuilder与WebApplication;除非代码库已使用或任务为迁移,避免旧式Startup与WebHost。 - 优先内置 DI、Options/配置、日志、ProblemDetails、OpenAPI、健康检查、限流、输出缓存、Identity,再考虑第三方基础设施。
- 保持功能切片内聚,便于从页面、组件、端点、控制器追溯到服务、数据访问与测试。
- 尊重现有应用模型;无明确理由时,不要把 Razor Pages 改成 MVC,或把控制器改成 Minimal API。
Reference 覆盖范围¶
Skill 内 reference 索引包括:栈选型、Program.cs 与管道、Blazor / Razor Pages / MVC UI、Minimal API 与控制器 API、EF Core 与状态、安全与 Identity、SignalR / gRPC / Hosted Services、集成测试与部署、版本与升级,以及面向 Microsoft 文档的 source-map。
执行说明(Execution Notes)¶
- 生成新代码时,从正确的
dotnet new模板起步,保持生成结构与官方模板可辨认。 - 编辑既有解决方案时,先遵循项目既有约定,再用 reference 避免框架误用或过时模式。
- 任务涉及「最新」特性时,应在 Microsoft Learn 或 ASP.NET Core 文档仓库核实,而非仅凭记忆。
安装与启用¶
officialskills.sh 列出的安装方式为:
npx skills add https://github.com/openai/skills --skill aspnet-core
也可将 Skill 目录链接交给支持 Agent Skills 的编码助手安装:
https://github.com/openai/skills/tree/main/skills/.curated/aspnet-core
资料中未区分 Cursor、Codex CLI、Claude Code 的安装差异;按各产品对 npx skills add 或 SKILL 目录挂载的说明操作即可。
典型用法¶
以下场景来自官方资料中的 When to use it 与 Workflow,可作为触发 Skill 的任务描述示例(需结合你仓库中的实际框架与版本):
- 脚手架 Minimal API:要求 OpenAPI 文档与 ProblemDetails 错误响应,并走
apis-minimal-and-controllers.md与program-and-pipeline.md。 - 迁移宿主模型:将基于
Startup的旧应用迁移到WebApplicationBuilder,先确认目标框架,再读versioning-and-upgrades.md与program-and-pipeline.md。 - Razor Pages 安全:为站点添加 Cookie 认证与基于角色的授权,打开
security-and-identity.md与ui-razor-pages.md。 - MVC 中的 SignalR:在现有 MVC 应用中接入 SignalR Hub 做实时通知,主 reference 为
ui-mvc.md,并按需打开realtime-grpc-and-background-work.md。 - 控制器集成测试:使用
WebApplicationFactory为控制器端点编写集成测试,参考testing-performance-and-operations.md。
生成或修改代码时,助手应按 Workflow 顺序加载 reference,而不是一次性载入全部文件。
适用场景与注意¶
适合谁:日常用 C# / ASP.NET Core 做 Web 或 API,并希望在 Agent 对话里得到与 Microsoft 当前指引一致的结构、管道与安全做法的 .NET 开发者。该 Skill 位于 OpenAI Curated 列表,与官方 Skills 仓库同源,对补齐 Agent 在 C# Web 栈上的参考覆盖有直接意义。
限制与注意:
- Skill 是 reference 与工作流约束,不能替代你本地指定的
TargetFramework与 SDK;版本假设以SKILL.md为准,旧项目需显式说明目标版本。 - 「最新」特性必须以 Microsoft Learn 核实;资料明确要求不要依赖未验证的记忆。
- 不要在没有业务理由时切换应用模型;Skill 默认尊重仓库已有选型。
- 第三方包与云厂商部署细节以项目为准;Skill 倾向先用框架内置能力。
结尾¶
aspnet-core 把 ASP.NET Core 多模型、多版本下的选型、管道与横切能力拆成可按任务加载的 reference,并用固定 Workflow 减少过时 API 与错误重构。若你主要在 Agent 里维护 Blazor、MVC、Minimal API 等 .NET Web 项目,可安装后按任务描述触发上述场景。
官方地址:https://github.com/openai/skills/tree/main/skills/.curated/aspnet-core