aspnet-core:按官方指引构建与审查 ASP.NET Core 应用

前言

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

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

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

小夜