GitHub Copilot 应用现代化 - 升级 .NET 常见问题解答

GitHub Copilot 应用现代化 - .NET 升级是一个交互式 GitHub Copilot 扩展,它为 Visual Studio 添加了强大的升级功能。 本文解答常见问题。 有关该工具的详细信息,请参阅什么是 GitHub Copilot 应用现代化 - 适用于 .NET 的升级?

该工具可以做什么?

目前,GitHub Copilot 应用现代化 - 适用于 .NET 的升级可帮助你将 .NET 项目升级到较新版本的 .NET。 该工具是 Visual Studio 的扩展,可在 GitHub Copilot 聊天会话中执行以下步骤:

  • 分析项目并提出升级计划。
  • 根据计划,运行一系列任务来升级项目。
  • 在本地 Git 存储库下的工作分支中作。
  • 在代码转换期间自动修复问题。
  • 报告进度并允许访问代码更改和日志。
  • 了解与你(在会话上下文中)的交互式体验,以改进后续转换。

工具可以升级哪些内容?

GitHub Copilot 应用现代化 - .NET 的升级目前侧重于将项目从一个版本的 .NET 迁移到另一个版本。 例如,从 .NET Core 3.1 或 .NET 6 升级到 .NET 9。 它还会升级依赖项并修复迁移后代码中的错误。

除了升级目标框架之外,该工具还可以处理以下类型的项目:

  • Azure Functions。
  • 控制台应用和类库。
  • Web 技术,例如:
    • MVC
    • Blazor
    • Razor 页面
    • 网络应用程序接口
  • Windows 窗体和 Windows Presentation Foundation 等桌面技术。
  • 测试项目,如 MSTest 和 NUnit。

存在哪些限制?

  • 它不支持 .NET Framework 项目。 (首先使用 升级助手工具将项目升级到 .NET。
  • 仅支持 Git 存储库。
  • 不能保证升级建议被视为最佳做法。
  • LLM 不会继续从升级中学习。 这意味着,升级过程中提供的代码修复和更正不会持久保存,并且将来的升级无法记住。
  • 它仅在 Windows 上运行。

收集什么数据?

该工具仅收集有关项目类型、升级意向和升级持续时间的遥测信息。 数据通过 Visual Studio 本身聚合,不包含任何用户身份信息。 有关Microsoft隐私策略的详细信息,请参阅 Visual Studio 客户体验改善计划

是否可以禁用遥测?

是的,可以禁用遥测。 在 Visual Studio 中,选择“ 帮助>隐私>设置>”否,我不想参与。

是否可以基于代码库训练模型?

否。 与传统的 AI 工具不同,你可以在其中输入任意多边形提示,该工具以更结构化的方式运行。 AI 嵌入在生成和修复过程中,这意味着其使用的提示是预定义的,并绑定到升级计划。 因此,这不是可以在代码库上训练的内容,它不是可以使用自定义说明手动引导的内容,超出了可以对计划 Markdown 文件所做的更改。

但是,该工具在会话中确实具有一些适应性。 如果手动调整修补程序,它会从短期内该交互中学习,并在再次遇到同一问题时应用类似的更正。 将其视为在升级范围内优化其方法。 我们永远不会存储用户的代码库,也永远不会使用你的代码来训练模型。 升级完成后,会话数据将被删除,而不是存储。

若要了解详细信息,请参阅什么是 GitHub Copilot 应用现代化 - 适用于 .NET 的升级?