什么是 .NET 升级助手?

.NET 升级助手可帮助将项目升级到较新版本的 .NET,并分析代码来发现并修复潜在的不兼容问题。 该工具的一个重点是帮助将项目从 .NET Framework、.NET Core 或 .NET 迁移到最新版本的 .NET。 使用扩展或工具升级整个 .NET 项目,或项目的某些方面,例如将配置文件从旧类型迁移到较新的类型。

.NET 升级助手作为 Visual Studio 扩展或命令行接口 (CLI) 工具分发。

分析和升级

.NET 升级助手包括扫描项目及其依赖项的分析引擎。 扫描完成后,将生成一个报告,其中包含有关执行升级的详细信息。 可以使用此信息升级整个项目或项目的特定部分。

支持的项目类型

.NET 升级助手支持升级在 C# 或 Visual Basic 中编码的项目。 支持以下项目类型:

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows 窗体
  • 类库
  • Console 应用程序
  • Xamarin Forms
  • .NET MAUI
  • .NET Native UWP

某些产品提供有关如何使用 .NET 升级助手的指导。

升级路径

支持下列升级路径:

  • .NET Framework 到 .NET
  • .NET Core 到 .NET
  • Azure Functions v1-v3 到 v4 隔离(面向 net6.0+)
  • UWP 到 WinUI 3
  • 以前的 .NET 版本到最新 .NET 版本
  • Xamarin Forms 到 .NET MAUI
    • XAML 文件转换仅支持升级命名空间。 若要进行更全面的转换,请使用 Visual Studio 2022 版本 17.6 或更高版本。

升级详细信息和选项

启动升级后,向导将引导你在启动升级之前配置一些选项。 根据要升级的项目类型,向导会显示不同的选项。 有关升级项目的示例,请参阅 使用 .NET 升级助手升级项目。

如何执行升级

根据要升级的项目类型,可以更改升级的执行方式。 项目类型会影响哪些选项可用,可能缺少以下一个或多个项:

  • 就地项目升级

    此选项无需复制即可升级项目。

  • 并行项目升级

    复制项目并升级副本,从而保留原始项目。

  • 并行增量

    对于复杂的 Web 应用,这是一个不错的选择。 从 ASP.NET 升级到 ASP.NET Core 需要进行大量的工作,有时还需要手动重构。 此模式将 .NET 项目放在现有 .NET Framework 项目旁边。 终结点通过 .NET 项目路由,而所有其他调用将发送到 .NET Framework 应用程序。

    此模式使你可以逐步升级 ASP.NET 或库应用逐条升级。

升级结果

升级完成后,将显示状态屏幕,其中显示了与升级关联的所有项目。 可以展开每个升级项目,以阅读有关状态的详细信息。 以下列表介绍了状态图标:

  • 未填充绿色复选标记:工具找不到有关要升级的项目的任何内容。
  • 已填充绿色复选标记:项目已升级并成功完成。
  • 黄色警告标志:项目已升级,但应考虑重要信息。
  • 红色 X:项目升级失败。

Visual Studio 中 .NET 升级助手的“升级结果”选项卡。

此外,升级过程中执行的操作将记录到升级助手源下的“输出”窗口,如下图所示:

Visual Studio 中的“输出”窗口显示 .NET 升级助手中的结果。

升级项目后,请彻底测试它!