aspnet-core: Build and Review ASP.NET Core Applications Following Official Guidance

前言

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 中固定了阅读与执行顺序:

  1. 确认目标框架、SDK 与当前应用模型。
  2. 新建应用或大规模重构时,先打开 references/stack-selection.md。
  3. 再打开 references/program-and-pipeline.md,处理 Program.cs、DI、配置、中间件、路由、日志与静态资源。
  4. 按应用类型只打开一个主 reference:
    - references/ui-blazor.md
    - references/ui-razor-pages.md
    - references/ui-mvc.md
    - references/apis-minimal-and-controllers.md
  5. 按需追加横切主题 reference(数据与状态、安全、实时/gRPC/后台任务、测试与运维等)。
  6. 向旧方案引入新平台 API 或跨大版本迁移前,先读 references/versioning-and-upgrades.md。
  7. 任务未在 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 的任务描述示例(需结合你仓库中的实际框架与版本):

  1. 脚手架 Minimal API:要求 OpenAPI 文档与 ProblemDetails 错误响应,并走 apis-minimal-and-controllers.md 与 program-and-pipeline.md。
  2. 迁移宿主模型:将基于 Startup 的旧应用迁移到 WebApplicationBuilder,先确认目标框架,再读 versioning-and-upgrades.md 与 program-and-pipeline.md。
  3. Razor Pages 安全:为站点添加 Cookie 认证与基于角色的授权,打开 security-and-identity.md 与 ui-razor-pages.md。
  4. MVC 中的 SignalR:在现有 MVC 应用中接入 SignalR Hub 做实时通知,主 reference 为 ui-mvc.md,并按需打开 realtime-grpc-and-background-work.md。
  5. 控制器集成测试:使用 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye