如何使用GitHub Copilot升级.NET应用
发布时间:2026-09-29 | 浏览:1
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
GitHub Copilot升级是一种 AI 支持的代理,用于将.NET项目升级到较新版本。 本文逐步讲解如何使用结构化三阶段工作流升级.NET应用程序:评估、规划和执行。
代理分析项目和依赖项,在每个阶段创建详细的升级文档,并在整个过程中帮助修复代码。 代理支持从较旧的.NET版本升级到最新版本,包括从 .NET Framework 升级到新式.NET。
在开始升级之前,请先在开发环境中配置 GitHub Copilot 升级。 有关安装步骤,请参阅 安装GitHub Copilot升级 。
若要开始升级,请执行以下步骤:
使用以下方法之一启动代理: Visual Studio :右键单击 解决方案资源管理器1 中的解决方案或项目,然后选择 Modernize 。 或者,打开 GitHub Copilot 对话助手 窗口并键入 @Modernize 。 Visual Studio Code :打开 GitHub Copilot 对话助手 面板并键入 @upgrade 。 GitHub Copilot CLI :键入 @upgrade ,然后输入您的升级或迁移请求。 GitHub Copilot 应用 :在 代理 选取器中,选择 Upgrade 。
Visual Studio :右键单击 解决方案资源管理器1 中的解决方案或项目,然后选择 Modernize 。 或者,打开 GitHub Copilot 对话助手 窗口并键入 @Modernize 。
Visual Studio Code :打开 GitHub Copilot 对话助手 面板并键入 @upgrade 。
GitHub Copilot CLI :键入 @upgrade ,然后输入您的升级或迁移请求。
GitHub Copilot 应用 :在 代理 选取器中,选择 Upgrade 。
启动升级时,Copilot 收集预初始化信息:目标框架版本、Git 分支策略和工作流模式(由你自动或指导)。 然后,Copilot评估项目并运行一个三阶段工作流,并在存储库中的 .github/upgrades/{scenarioId} 下为每个阶段编写 Markdown 文件。 该值 {scenarioId} 是升级类型的唯一标识符,例如 dotnet-version-upgrade 。 如果 .github/upgrades/{scenarioId} 已存在于之前的尝试中,Copilot 会询问您是继续还是重新开始。
评估阶段。 Copilot审查您的项目,向您提供战略决策供评审,并保存确认的决策。 在继续之前请自定义评估选项。
规划阶段。 Copilot创建详细规范,其中包含达到目标升级的步骤。
执行阶段。 Copilot将计划分解为顺序任务并执行升级。
评估会检查项目结构、依赖项和代码模式,以确定需要更改的内容。 Copilot 会自动开始评估,并在 assessment.md 中生成 .github/upgrades/{scenarioId} 文件。
评估列出了重大更改、API 兼容性问题、已弃用的模式和升级范围。 以下示例显示了将ASP.NET Core 项目从 .NET 6.0 升级到 .NET 10.0的评估过程的一部分:
在 assessment.md 中打开 .github/upgrades/{scenarioId} 文件。
查看已确定的重大更改和兼容性问题。
向文档添加特定于项目的上下文或关注点。
告诉 Copilot 进入计划阶段。
评估后,Copilot评估解决方案,并提供升级策略决策以供评审。 代理根据项目的结构建议一种方法,并将确认的决定保存到 upgrade-options.md 中 .github/upgrades/{scenarioId} 。
升级策略。 自下而上(叶项目优先)、自上而下(应用程序优先)或一次性(一次完成所有项目)。
项目升级方法。 就地重写或并行升级。
技术现代化。 是否升级实体框架(EF6 到 EF Core)等技术、依赖项注入、日志记录和配置。
包管理。 是否采用中央包管理。
兼容性处理。 如何解决不受支持的 API、不兼容的包和特定于平台的功能。
查看建议的选项并确认或替代它们。 告诉 Copilot 进入计划阶段。
规划阶段将评估和确认的升级选项转换为详细规范,说明如何解决每个问题。 当你让Copilot进入规划阶段时,它会在 plan.md 中生成一个 .github/upgrades/{scenarioId} 文件。 代理还会创建一个 scenario-instructions.md 文件,用于存储升级的首选项、决策和自定义说明。
该计划记录了升级策略、重构方法、依赖项升级路径和风险缓解措施。 以下示例显示了 ASP.NET Core 项目的计划的一部分:
在 plan.md 中打开 .github/upgrades/{scenarioId} 文件。
在 plan.md 中打开 .github/upgrades/{scenarioId} 文件。
编辑计划以调整升级步骤或根据需要添加上下文。 Caution 该计划取决于项目相互依赖性。 如果以阻止升级路径完成的方式修改计划,则升级不会成功。 例如,如果 项目 A 依赖于 项目 B 并从升级计划中删除 项目 B ,升级 项目 A 可能会失败。
编辑计划以调整升级步骤或根据需要添加上下文。
该计划取决于项目相互依赖性。 如果以阻止升级路径完成的方式修改计划,则升级不会成功。 例如,如果 项目 A 依赖于 项目 B 并从升级计划中删除 项目 B ,升级 项目 A 可能会失败。
请让Copilot移动到执行阶段。
请让Copilot移动到执行阶段。
执行阶段将计划分解为具有验证条件的顺序具体任务。 当你指示 Copilot 执行时,它会在 tasks.md 中生成一个 .github/upgrades/{scenarioId} 文件。
任务列表描述了每个任务以及Copilot如何验证成功。 以下示例显示了包含 ASP.NET Core和WPF项目的解决方案的任务列表:
告知 Copilot 启动升级。
可以通过在 Copilot 更新任务状态时查看 tasks.md 文件来监控进度。
如果 Copilot 遇到无法解决的问题,请提供请求的帮助。
根据你的决策和更改,Copilot 会调整其策略以适应剩余的任务,并继续完成升级。
在预初始化期间根据您配置的 Git 策略,Copilot 提交更改:可以是每个任务、每个任务组或最后。
升级完成后,Copilot聊天响应中显示建议的后续步骤。 在 tasks.md 中查看 .github/upgrades/{scenarioId} 文件以了解每个步骤的状态。
以下示例演示 ASP.NET 核心项目升级的已完成任务:
查看 tasks.md 中的最终任务状态。
解决任何失败的测试或编译错误。
确保所有更新的 NuGet 包都与应用程序兼容。
彻底测试应用程序以验证升级是否成功。
应用升级后的 .NET 版本中提供的新功能和改进。
什么是GitHub Copilot升级?
安装GitHub Copilot升级
排查 GitHub Copilot 升级问题
GitHub Copilot升级常见问题解答
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
Last updated on 2026-09-25