在本快速入门中,你将使用适用于 .NET 的 GitHub Copilot 应用现代化来评估和迁移 .NET 项目。 你将完成以下任务:
- 评估示例项目(Contoso University)
- 启动迁移过程
Prerequisites
Windows操作系统。
Visual Studio 2026 (或 Visual Studio 2022 版本 17.14.17 及更新)。
启用了以下可选组件的 .NET 桌面开发工作负载:
- GitHub Copilot
- GitHub Copilot 应用现代化
GitHub Copilot 订阅(付费或免费)。
使用具有 Copilot 访问权限的 GitHub 帐户登录到 Visual Studio。
重要
如果更改订阅,则必须重启 Visual Studio。
代码必须用 C# 编写。
评估应用就绪情况
用于 .NET 评估的 GitHub Copilot 应用现代化有助于查找应用准备挑战、了解其影响,并查看建议的迁移任务。 每个迁移任务都包含对设置 Azure 资源、添加配置和进行代码更改的引用。 按照以下步骤开始迁移:
将 .NET 迁移助手示例 存储库克隆到计算机。
在 Visual Studio 中,从示例存储库打开 Contoso University 解决方案。
在解决方案资源管理器中,右键单击解决方案节点并选择 “现代化”。
GitHub Copilot 聊天窗口随即打开,其中包含欢迎消息和预定义选项。 从可用选项中选择 “迁移到 Azure ”并将其发送到 Copilot。
Tip
可以直接打开 GitHub Copilot Chat 并发送
@Modernize Migrate to Azure以启动评估和迁移流,而不是步骤 3 和步骤 4。此时会打开一个新的 Copilot 聊天会话,并显示欢迎消息。 评估会自动启动,并分析项目以进行迁移准备。
评估完成后,会在聊天窗口中看到全面的评估报告 UI 页面和迁移任务列表。
应用迁移
适用于 .NET 的 GitHub Copilot 应用现代化包括常见迁移方案的 预定义任务 ,并遵循Microsoft的最佳做法。
启动迁移任务
通过以下方式之一启动迁移任务:
选项 1. 从评估报告中运行
从上一步中选择评估报告中的 “运行任务 ”按钮以启动迁移任务。
选项 2. 在 Copilot 聊天中发送消息
在聊天中发送迁移任务编号(例如 1.1)或其名称。
计划和进度跟踪器生成
- 开始迁移时,GitHub Copilot 会在代理模式下启动一个名为“应用现代化:从
<source technology>中<target technology>迁移到”的会话,其中包含预定义的提示。 - 该工具在
.appmod/.migration文件夹中创建两个文件:-
plan.md:总体迁移计划。 -
progress.md:GitHub Copilot 在完成任务时更新的进度跟踪器。
-
- 在继续之前编辑这些文件以自定义迁移。
启动代码修正
如果对计划和进度跟踪器感到满意,请输入启动迁移过程的提示,例如:
The plan and progress tracker look good to me. Go ahead with the migration.GitHub Copilot 启动迁移过程,并可能要求你的批准在模型上下文协议 (MCP) 服务器中使用知识库工具。 出现提示时授予权限。
Copilot 遵循计划和进度跟踪器以:
- 管理依赖项。
- 应用配置更改。
- 更改代码。
- 生成解决方案,修复所有编译和配置错误,并确保生成成功。
- 修复安全漏洞。
默认聊天消息
适用于 .NET 的 GitHub Copilot 应用现代化提供了用于简化工作流的默认聊天消息选项。
选择其中一个预定义的选项,并在聊天中发送它:
- 运行现代化评估:开始对应用程序进行新的评估,以确定迁移准备问题和 Azure 兼容性挑战。
- 查看评估报告:打开以前的评估报告,并显示基于结果的迁移任务的摘要。 如果不存在以前的评估,则首先运行新的评估。
- 浏览顶级迁移任务:显示建议的迁移任务和常见现代化方案,而不考虑任何特定的评估结果。
Tip
这些默认消息可帮助你快速导航常见工作流,而无需键入自定义提示。 还可以输入自己的消息,以便与 Copilot 交互,了解特定问题或需求。
后续步骤
Prerequisites
拥有任意计划下活动的 GitHub Copilot 订阅的 GitHub 账户。
最新版本的 Visual Studio Code。 必须是版本 1.101 或更高版本。
- Visual Studio Code 中的 GitHub Copilot。 有关设置说明,请参阅 在 VisualStudio Code 中设置 GitHub Copilot。 请务必在 Visual Studio Code 中登录到 GitHub 帐户。
- GitHub Copilot 应用现代化。 安装后重启 Visual Studio Code。
用于生成和测试项目的 .NET 开发环境。
评估应用就绪情况
用于 .NET 评估的 GitHub Copilot 应用现代化有助于查找应用准备挑战、了解其影响,并查看建议的迁移任务。 每个迁移任务都包含对设置 Azure 资源、添加配置和进行代码更改的引用。 按照以下步骤开始迁移:
将 .NET 迁移助手示例 存储库克隆到计算机。
在 Visual Studio Code 中,从示例存储库打开 Contoso University 解决方案。
打开 GitHub Copilot 应用现代化 扩展。
在 “快速入门 ”部分中,选择“ 开始评估”。 此时会打开 “评估报告 ”页。
选择页面右上角的 “运行评估 ”。
评估会自动启动,并分析项目以进行迁移准备。
评估完成后,会在聊天窗口中看到全面的评估报告 UI 页面和迁移任务列表。
应用迁移
适用于 .NET 的 GitHub Copilot 应用现代化包括常见迁移方案的 预定义任务 ,并遵循Microsoft的最佳做法。
基于聊天的迁移(建议)
基于聊天的迁移是开始迁移的建议方法。 自定义 AppModernization-DotNet 代理针对应用程序现代化任务进行优化。 此代理允许你使用简单的自然语言提示来执行复杂的迁移方案。
完成以下步骤以选择自定义代理并开始迁移:
确保已在 Visual Studio Code 中打开 .NET 项目。
选择 活动栏中 的聊天图标以打开 Copilot 聊天窗口。
在聊天窗口中,找到聊天输入框顶部的代理选择器下拉菜单。 从列表中选择 AppModernization-DotNet 。 此自定义代理专为 .NET 应用程序现代化和迁移方案而设计。
在聊天窗口中使用格式
migrate from <source> to <target>输入提示。 例如:migrate from rabbitmq to Azure service bus代理分析代码、创建迁移计划、进行代码更改、运行验证并生成摘要。 选择 “继续 ”以继续执行每个步骤并 保留 以接受更改。
从 UI 启动迁移任务
还可以从 UI 启动迁移任务:
选项 1. 从评估报告中运行
从上一步中选择评估报告中的 “运行任务 ”按钮以启动迁移任务。
选项 2. 应用预定义的任务
在 TASKS - .NET 部分中运行特定任务。 例如,数据库任务下的“将数据库迁移到 Azure Database for PostgreSQL”任务会更新数据库连接、配置、依赖项和数据访问代码,以使用 Azure Database for PostgreSQL。
计划和进度跟踪器生成
启动迁移时,GitHub Copilot 会在代理模式下启动会话。
该工具在 .github/appmod/code-migration/<target-branch-name> 文件夹中创建两个文件:
-
plan.md:总体迁移计划。 -
progress.md:GitHub Copilot 在完成任务时更新的进度跟踪器。
在继续之前编辑这些文件以自定义迁移。
启动代码修正
如果对计划和进度跟踪器感到满意,请输入 继续 开始迁移。
GitHub Copilot 启动迁移过程,并可能要求你的批准在模型上下文协议 (MCP) 服务器中使用知识库工具。 出现提示时授予权限。
Copilot 遵循计划和进度跟踪器以:
- 管理依赖项。
- 应用配置更改。
- 更改代码。
- 生成项目,修复所有编译和配置错误,并确保生成成功。
- 修复安全漏洞。
重复选择或输入 “继续” 以确认使用工具或命令,并等待代码更改完成。
注释
在 Visual Studio Code 中,应用现代化默认将 AppModernization-DotNet 自定义代理与 Claude Sonnet 4.5 配合使用,以便在更新 .NET 代码以迁移到 Azure 时获得最佳结果。 如果 Sonnet 4.5 不可用,系统将转而使用“自动”模型。 通过从代理菜单中选择配置自定义代理,可以配置自定义代理以修改“模型”设置。 或者,可以使用聊天窗口中的语言模型选取器来切换当前聊天会话的模型。
验证迭代
代码更改完成后,迁移工具将启动验证并修复迭代循环。 此循环包括以下五个步骤:
- 检测当前依赖项中的常见漏洞和暴露(CVE),并修复它们。
- 生成项目并解决任何生成错误。
- 分析代码以保持功能一致性。
- 分析项目中的单元测试失败,然后自动生成修复计划,直至测试通过。
- 分析初始代码迁移中缺少的迁移项的代码并修复它们。
完成所有过程后,迁移工具将生成摘要。 通过选择 “保留”查看代码更改并确认这些更改。