GitHub Copilot现代化是一种交互式GitHub Copilot代理,可向开发环境添加功能。 本文解答常见问题。 有关详细信息,请参阅什么是GitHub Copilot更新。
该工具需要以下GitHub Copilot订阅之一:
- Copilot免费版(从 Visual Studio 2026 版本 18.1 开始)
- Copilot Pro
- Copilot Pro+
- Copilot业务
- Copilot Enterprise
GitHub Copilot 的现代化功能在 Visual Studio、Visual Studio Code、GitHub Copilot CLI 和 GitHub.com 上可用。 对于Visual Studio,它包含在 Visual Studio 2026(或 Visual Studio 2022 版本 17.14.17 及更新)。
有关安装的详细信息,请查看安装 GitHub Copilot 现代化模块。
新式化代理
代理可以做什么?
GitHub Copilot 现代化功能有助于将 .NET(.NET、.NET Core、和 .NET Framework)项目升级到较新版本的 .NET。 它还有助于将服务迁移到Azure、升级依赖项,并在迁移后修复代码中的错误。 代理在Copilot聊天会话中执行以下步骤:
- 分析项目并提出现代化计划。
- 执行一系列任务,按照计划更新项目。
- 在本地 Git 存储库的工作分支中操作。
- 修复代码转换期间自动出现的问题。
- 报告进度并允许访问代码更改和日志。
- 在会话期间从您的交互中学习,以改进后续变换。
存在哪些限制?
- 代理需要本地 Git 存储库。
- 不保证升级或迁移建议遵循最佳做法。
- 在升级过程中提供给Copilot的代码修复和更正不会自动保存,也不会在将来的升级中被记住。
我应使用哪个模型?
使用良好的编码模型。 模型可用性取决于Copilot订阅和环境。 有关模型的比较,请参阅 GitHub Copilot AI 模型比较。
是否可以基于代码库训练模型?
否。 与传统的 AI 工具不同,你可能会输入自定义提示,而代理是以结构化方式运行的。 AI 嵌入在生成和修复过程中,因此其使用的提示是预定义的,并绑定到升级计划。 不能在代码库上训练它,但它用作代理的上下文。
是否可以自定义或指导代理?
代理程序使用Copilot提供的自定义内容,例如指令文件和技能。 定制取决于您的Copilot所支持的功能。 代理包含 30 多种内置现代化技能,这些技能根据代码库中检测到的技术自动加载。 还可以创建自定义技能和方案。 有关详细信息,请参阅 应用自定义升级说明。
如果您手动调整修正、在聊天中提供额外说明或更新计划文件中的 Markdown,代理会在短期内从这种交互中学习。 首选项和决策将保存到 .github/upgrades/ 文件夹中的 scenario-instructions.md,以便在跨会话时保留。
代理是否存储我的源代码?
代理永远不会存储代码库或使用代码来训练模型。 升级或迁移完成后,代理将删除会话数据。
是否可以提供反馈?
Yes! 可通过两种方法提供反馈:
- 在Visual Studio中,使用建议新功能和报告问题功能。
- 在 @modernize-dotnet GitHub 存储库中提交问题。
收集什么数据?
代理仅收集有关项目类型、升级意向和升级持续时间的遥测数据。 数据通过开发环境聚合,不包含用户身份信息。 有关Microsoft隐私策略的详细信息,请参阅 Visual Studio 客户体验改善计划。
是否可以禁用遥测?
是的。 在 Visual Studio 中,选择 Help>Privacy>Privacy Settings>“No, 我不想参与。”遥测设置可能因开发环境而异。 有关详细信息,请查看工具的隐私设置。
升级.NET应用
代理可以升级哪些内容?
GitHub Copilot现代化有助于升级.NET项目或将其迁移到Azure。 代理支持多种方案,超出框架升级范围,包括 Aspire 集成、SDK 样式转换、Newtonsoft.Json 迁移、SqlClient 迁移、Azure Functions 升级,以及 语义内核 到代理迁移。 要了解完整的参考信息,请参阅 方案和技能参考。
代理适用于以下项目类型:
- Azure Functions
- 控制台应用和类库
- Web 技术,例如:
- MVC
- Blazor
- Razor Pages
- 网络应用程序接口
- 桌面技术,例如Windows 窗体、Windows Presentation Foundation和 WinUI
- .NET MAUI和Xamarin
- 测试项目,如 MSTest、NUnit 和 xUnit
- .NET框架项目
代理支持 C# 和 Visual Basic。
可以升级到哪些.NET版本?
代理支持以下升级路径:
| 来源 | 目标 |
|---|---|
| .NET框架(任何版本) | .NET 8 或更高版本 |
| .NET Core 1.x–3.x | .NET 8 或更高版本 |
| .NET 5 或更高版本 | .NET 8 或更高版本 |
是否可以脱机使用代理?
否。 代理需要 Internet 连接和GitHub Copilot云基础结构。 代理适用于所有Copilot订阅级别,包括免费级别。
代理是否修改解决方案外部的文件?
否。 代理仅修改工作区和 .github/upgrades/ 文件夹中的文件。 自定义任务数据保留在存储库中。
是否可以部分接受代理的更改?
是的。 由于每个任务单独提交,因此可以使用标准 Git 命令选取特定的提交。 请查看提交历史 git log --oneline 并用 git cherry-pick 来选择单个更改。
迁移到Azure
代理可以迁移哪些内容?
代理可帮助将.NET应用程序迁移到Azure,包括:
- Web 应用
- API 应用
- Azure Functions
- 容器化应用程序
迁移方案包括:
- 对数据库进行现代化
- 存储
- 身份
- Messaging
- 事件流式处理
- 伐木业
- 安全性
有关这些方案的详细信息,请参阅 迁移的预定义任务。
是否可以监视评估进度?
是的。 通过Visual Studio接口监视评估进度。 代理在迁移过程中提供实时反馈和状态更新。 其他开发环境可能提供不同的监视选项。
在Visual Studio中,通过在评估运行时查看命令行输出来监视评估进度:
- 转到 “查看>输出 ”以打开 “输出 ”窗口。
- 在“ 输出 ”窗口中,找到下拉列表中的 “显示输出 ”。
- 从下拉列表中选择 AppModernizationExtension 。
- 此时会显示评估工具的命令行输出,其中显示了实时进度。
或者,使用键盘快捷方式 Ctrl+Alt+O 访问“输出”窗口。
相关内容
若要了解详细信息,请参阅 什么是GitHub Copilot现代化?。