通过


快速入门:使用适用于 .NET 的 GitHub Copilot 应用现代化评估并迁移 .NET 项目

在本快速入门中,你将使用适用于 .NET 的 GitHub Copilot 应用现代化来评估和迁移 .NET 项目。 你将完成以下任务:

  • 评估示例项目(Contoso University)
  • 启动迁移过程

Prerequisites

评估应用就绪情况

用于 .NET 评估的 GitHub Copilot 应用现代化有助于查找应用准备挑战、了解其影响,并查看建议的迁移任务。 每个迁移任务都包含对设置 Azure 资源、添加配置和进行代码更改的引用。 按照以下步骤开始迁移:

  1. .NET 迁移助手示例 存储库克隆到计算机。

  2. 在 Visual Studio 中,从示例存储库打开 Contoso University 解决方案。

  3. 在解决方案资源管理器中,右键单击解决方案节点并选择 “现代化”。

    显示上下文菜单中新式化选项的屏幕截图。

  4. GitHub Copilot 聊天窗口随即打开,其中包含欢迎消息和预定义选项。 从可用选项中选择 “迁移到 Azure ”并将其发送到 Copilot。

    显示包含迁移选项的欢迎消息的屏幕截图。

    Tip

    可以直接打开 GitHub Copilot Chat 并发送 @Modernize Migrate to Azure 以启动评估和迁移流,而不是步骤 3 和步骤 4。

  5. 此时会打开一个新的 Copilot 聊天会话,并显示欢迎消息。 评估会自动启动,并分析项目以进行迁移准备。

    显示正在进行评估并显示状态指示器的屏幕截图。

  6. 评估完成后,会在聊天窗口中看到全面的评估报告 UI 页面和迁移任务列表。

    显示生成的评估报告以及详细结果的屏幕截图。

应用迁移

适用于 .NET 的 GitHub Copilot 应用现代化包括常见迁移方案的 预定义任务 ,并遵循Microsoft的最佳做法。

启动迁移任务

通过以下方式之一启动迁移任务:

选项 1. 从评估报告中运行

从上一步中选择评估报告中的 “运行任务 ”按钮以启动迁移任务。

选项 2. 在 Copilot 聊天中发送消息

在聊天中发送迁移任务编号(例如 1.1)或其名称。

在 Copilot Chat 中发送消息以启动迁移任务的屏幕截图。

计划和进度跟踪器生成

  • 开始迁移时,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 应用现代化提供了用于简化工作流的默认聊天消息选项。

显示 Copilot Chat 中默认聊天消息选项的屏幕截图。

选择其中一个预定义的选项,并在聊天中发送它:

  • 运行现代化评估:开始对应用程序进行新的评估,以确定迁移准备问题和 Azure 兼容性挑战。
  • 查看评估报告:打开以前的评估报告,并显示基于结果的迁移任务的摘要。 如果不存在以前的评估,则首先运行新的评估。
  • 浏览顶级迁移任务:显示建议的迁移任务和常见现代化方案,而不考虑任何特定的评估结果。

Tip

这些默认消息可帮助你快速导航常见工作流,而无需键入自定义提示。 还可以输入自己的消息,以便与 Copilot 交互,了解特定问题或需求。

后续步骤

Prerequisites

评估应用就绪情况

用于 .NET 评估的 GitHub Copilot 应用现代化有助于查找应用准备挑战、了解其影响,并查看建议的迁移任务。 每个迁移任务都包含对设置 Azure 资源、添加配置和进行代码更改的引用。 按照以下步骤开始迁移:

  1. .NET 迁移助手示例 存储库克隆到计算机。

  2. 在 Visual Studio Code 中,从示例存储库打开 Contoso University 解决方案。

  3. 打开 GitHub Copilot 应用现代化 扩展。

  4. “快速入门 ”部分中,选择“ 开始评估”。 此时会打开 “评估报告 ”页。

  5. 选择页面右上角的 “运行评估 ”。

    在“任务”部分中运行任务以启动迁移任务的屏幕截图。

  6. 评估会自动启动,并分析项目以进行迁移准备。

    运行分析项目以准备迁移的任务的屏幕截图。

  7. 评估完成后,会在聊天窗口中看到全面的评估报告 UI 页面和迁移任务列表。

    运行评估报告用户界面页面及迁移任务列表的屏幕截图。

应用迁移

适用于 .NET 的 GitHub Copilot 应用现代化包括常见迁移方案的 预定义任务 ,并遵循Microsoft的最佳做法。

基于聊天的迁移是开始迁移的建议方法。 自定义 AppModernization-DotNet 代理针对应用程序现代化任务进行优化。 此代理允许你使用简单的自然语言提示来执行复杂的迁移方案。

完成以下步骤以选择自定义代理并开始迁移:

  1. 确保已在 Visual Studio Code 中打开 .NET 项目。

  2. 选择 活动栏中 的聊天图标以打开 Copilot 聊天窗口。

  3. 在聊天窗口中,找到聊天输入框顶部的代理选择器下拉菜单。 从列表中选择 AppModernization-DotNet 。 此自定义代理专为 .NET 应用程序现代化和迁移方案而设计。

    在聊天窗口中选择 .NET 自定义代理的屏幕截图。

  4. 在聊天窗口中使用格式 migrate from <source> to <target> 输入提示。 例如:

    migrate from rabbitmq to Azure service bus
    
  5. 代理分析代码、创建迁移计划、进行代码更改、运行验证并生成摘要。 选择 “继续 ”以继续执行每个步骤并 保留 以接受更改。

从 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 不可用,系统将转而使用“自动”模型。 通过从代理菜单中选择配置自定义代理,可以配置自定义代理以修改“模型”设置。 或者,可以使用聊天窗口中的语言模型选取器来切换当前聊天会话的模型。

验证迭代

代码更改完成后,迁移工具将启动验证并修复迭代循环。 此循环包括以下五个步骤:

  1. 检测当前依赖项中的常见漏洞和暴露(CVE),并修复它们。
  2. 生成项目并解决任何生成错误。
  3. 分析代码以保持功能一致性。
  4. 分析项目中的单元测试失败,然后自动生成修复计划,直至测试通过。
  5. 分析初始代码迁移中缺少的迁移项的代码并修复它们。

完成所有过程后,迁移工具将生成摘要。 通过选择 “保留”查看代码更改并确认这些更改。

后续步骤