mcpField
D
dotnet-upgrade

dotnet-upgrade

github.com/github开发40.5k11.5k 次安装今天更新
代码仓库

关于 dotnet-upgrade

用于规划 .NET 项目升级的技能,涵盖框架和依赖评估、验证及发布文档,并通过提示词和清单协调项目与流水线升级。

主要功能

  1. 01项目框架与依赖评估
  2. 02升级顺序与渐进式规划
  3. 03目标框架选择与代码现代化
  4. 04NuGet 兼容性及冲突审查
  5. 05CI/CD 与测试验证规划
  6. 06破坏性变更与发布文档

适用场景

  1. 01规划多项目解决方案的升级
  2. 02检查包与框架兼容性
  3. 03准备 CI 验证和部署检查
  4. 04跟踪迁移工作与升级结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/github/awesome-copilot --skill dotnet-upgrade

安装后在 Claude Code 中输入/dotnet-upgrade确认已加载。

详细介绍

项目发现与评估

  • name: "项目分类分析" prompt: "识别解决方案中的所有项目,并按类型(.NET Framework、.NET Core、.NET Standard)对其进行分类。分析每个 .csproj 当前的 TargetFramework 和 SDK 使用情况。"

  • name: "依赖项兼容性审查" prompt: "审查外部和内部依赖项的框架兼容性。根据依赖关系图的深度确定升级复杂度。"

  • name: "旧版包检测" prompt: "识别需要迁移到 PackageReference 格式的旧版 packages.config 项目。"

升级策略与排序

  • name: "项目升级顺序" prompt: "推荐从依赖最少到依赖最多的组件升级顺序。建议如何在 API 或 Azure Function 迁移之前隔离类库升级。"

  • name: "增量策略规划" prompt: "提出带有回滚检查点的增量升级策略。根据项目结构评估使用 Upgrade Assistant 或手动升级。"

  • name: "进度跟踪设置" prompt: "生成升级检查清单,用于跟踪所有项目的构建、测试和部署就绪情况。"

框架目标与代码调整

  • name: "目标框架选择" prompt: "为每个项目建议正确的 TargetFramework(例如 net8.0)。审查并更新已弃用的 SDK 或构建配置。"

  • name: "代码现代化分析" prompt: "识别需要现代化的代码模式(例如 WebHostBuilder → HostBuilder)。建议替换已弃用的 .NET API 和第三方库。"

  • name: "异步模式转换" prompt: "建议在适当的情况下将同步调用转换为异步,以提高性能和可扩展性。"

NuGet 与依赖项管理

  • name: "包兼容性分析" prompt: "分析过时或不兼容的 NuGet 包,并建议兼容版本。识别不支持 .NET 8 的第三方库,并提供迁移路径。"

  • name: "共享依赖项策略" prompt: "推荐跨项目处理共享依赖项升级的策略。评估旧版包的使用情况,并在 Microsoft 支持的命名空间中建议替代方案。"

  • name: "传递依赖项审查" prompt: "审查升级后的传递依赖项和潜在版本冲突。建议依赖冲突的解决策略。"

CI/CD 与构建管道更新

  • name: "管道配置分析" prompt: "分析 YAML 构建定义中的 SDK 版本固定情况,并建议更新。建议修改 UseDotNet@2 和 NuGetToolInstaller 任务。"

  • name: "构建管道现代化" prompt: "生成用于 .NET 8 迁移的更新构建管道片段。建议在合并到 main 之前,在功能分支上进行验证构建。"

  • name: "CI 自动化增强" prompt: "识别在 CI 管道中自动化测试和构建验证的机会。建议持续集成验证策略。"

测试与验证

  • name: "构建验证策略" prompt: "提出验证检查,以确保升级后的解决方案能够成功构建和运行。建议升级后对单元测试和集成测试套件执行自动化测试。"

  • name: "服务集成验证" prompt: "生成验证步骤,以验证日志记录、遥测和服务连接。建议验证向后兼容性和运行时行为的策略。"

  • name: "部署就绪检查" prompt: "建议在生产发布之前进行 UAT 部署验证步骤。为升级后的组件创建全面的测试场景。"

破坏性变更分析

  • name: "API 弃用检测" prompt: "识别目标版本之间已弃用的 API 或已移除的命名空间。建议使用 .NET Upgrade Assistant 和 API Analyzer 进行自动扫描。"

  • name: "API 替换策略" prompt: "为已知的破坏性区域推荐替换 API 或库。审查 Startup.cs → Program.cs 重构等配置变更。"

  • name: "回归测试重点" prompt: "建议针对已升级 API 端点或服务的回归测试场景。为关键功能验证创建测试计划。"

版本控制与提交策略

  • name: "分支策略规划" prompt: "推荐具备回滚能力的安全升级分支策略。为部分和完整的项目升级生成提交模板。"

  • name: "PR 结构优化" prompt: "建议创建结构化 PR(Upgrade to .NET [Version])的最佳实践。识别涉及破坏性变更的 PR 的标记策略。"

  • name: "代码审查指南" prompt: "推荐同行审查的重点领域(构建、测试和依赖验证)。为有效的升级审查创建检查清单。"

文档与沟通

  • name: "升级文档策略" prompt: "建议如何在 PR 中记录每个项目的框架变更。提议自动生成发布说明,汇总升级内容和测试结果。"

  • name: "利益相关者沟通" prompt: "建议向使用者传达版本升级和迁移时间线。生成依赖更新和验证结果的文档模板。"

  • name: "进度跟踪系统" prompt: "建议维护升级摘要仪表板或 Markdown 检查清单。创建用于跟踪多个项目升级进度的模板。"

工具与自动化

  • name: "升级工具选择" prompt: "推荐何时以及如何使用:.NET Upgrade Assistant、dotnet list package --outdated、dotnet migrate 和 graph.json 依赖可视化。"

  • name: "分析脚本生成" prompt: "生成用于在升级前分析依赖图的脚本或提示词。为 Copilot 提议 AI 辅助提示词,以自动识别升级问题。"

  • name: "多仓库验证" prompt: "建议如何跨多个仓库验证自动化输出。为企业级升级创建标准化的验证工作流。"

最终验证与交付

  • name: "最终解决方案验证" prompt: "生成验证步骤,以确认最终升级后的解决方案通过所有验证检查。建议升级后的生产部署验证步骤。"

  • name: "部署就绪确认" prompt: "建议生成最终测试结果和构建产物。创建汇总各项目完成情况(构建/测试/部署)的检查清单。"

  • name: "发布文档" prompt: "生成汇总框架变更和 CI/CD 更新的发布说明。创建全面的升级摘要文档。"


评论

支持 Markdown