用途:该技能汇总 AI 代理在生成或修改 .NET 代码时常见的错误,按类别给出简短警告、反模式代码、修正代码,并交叉引用负责深入指导的规范技能。它不提供完整实现走查,只暴露错误并指向正确技能。需 .NET 8.0+ SDK,并熟悉 SDK 风格项目与 C# 语言特性。
主要能力按类别划分:一、异步/等待误用,如用 .Result 或 .Wait() 阻塞导致死锁、即发即弃静默吞异常,应全程 async 并传 CancellationToken。二、NuGet 包错误,如包名不存在、对共享框架包硬编码版本、默认添加 Swashbuckle(.NET 9+ 模板改用内置 OpenAPI),应使用确切包 ID 并用版本变量或中央包管理匹配 TFM。三、过时 API,如 BinaryFormatter、WebClient、RNGCryptoServiceProvider,应改用 System.Text.Json、IHttpClientFactory、RandomNumberGenerator。四、项目结构错误,如用错 SDK 类型、为框架内置库加 PackageReference、ProjectReference 路径错误,应改用 Microsoft.NET.Sdk.Web 等正确 SDK 并核对路径。五、可空引用类型注解错误,如滥用 ! 抑制警告或未启用可空上下文,应显式处理 null 并在 csproj 中启用 Nullable。六、源生成器配置错误,如缺少 partial 关键字或类型不匹配,源生成器需 partial 类。七、裁剪/AOT 警告抑制,如用 #pragma 隐藏 IL2026 而非修正反射用法,应改用编译期类型解析或 DynamicallyAccessedMembers 并启用分析器。八、测试组织反模式,如测试类放进生产项目、测试项目缺 Microsoft.NET.Test.Sdk 与运行器,应放在 tests 目录并配置完整测试包。九、DI 注册错误,如单例捕获作用域服务、忘记注册,应匹配生命周期或用 IServiceScopeFactory 创建作用域。
此外还列出 Slopwatch 反模式:禁用或跳过测试、抑制警告、空 catch 块、无理由静默分析器,这些是掩盖问题而非修复问题的信号。
限制:深入异步模式、依赖注入、可空引用类型、源生成器、测试框架、安全漏洞缓解分别由其他专项技能负责;本技能不覆盖这些完整指南。