最新 .NET 和 ASP.NET Core (v6) 的升级清单

Upgrade checklist for latest .NET and ASP.NET Core (v6)

我正在从 .NET 5 升级到 6(以及 ASP.NET Core/EF Core 5 到 6)。

是否有我可以遵循的综合迁移“清单”?

任何版本的通用清单

1。 Pre-upgrade

  • 如果您要升级 non-trivial 生产系统,请确保您有几天空闲时间
  • 列出所有 third-party 库 (nugets),并访问它们的存储库。确保每一个都支持最新的框架版本——如果不支持,那么你 1) 还不能升级,或者 2) 必须找到那些还不兼容最新框架的替代品。

2。升级

  • 签出新 git 分店
  • 运行 所有测试:重要的是在升级前做一个基线,以便能够比较 before/after。记下失败的测试(如果有的话)(以便以后可以忽略它们)。
  • 查看发行说明
  • 查看官方迁移指南
  • 查看重大更改
  • 更新依赖项(在Directory.Build.propsMyProject.csproj中)
    • 必要时更新SDK
    • 更新framework<TargetFramework>net6.0</TargetFramework>
    • 更新语言版本(如有必要):<LangVersion>10.0</LangVersion>
    • 更新名为 Microsoft.AspNetCore.*Microsoft.Extensions.*
    • 的 Microsoft packages
    • 仅在必要时更新其他依赖项(以降低此迁移的复杂性)。更新已为新框架版本更新的库,以及必须更新的库,例如non-Microsoft 数据库提供商。
    • 必要时更新相关的 dotnet 工具(在 dotnet-tools.json 中或全局安装的工具)
  • 处理重大变更
    • 修复损坏的代码
    • 修复损坏的测试;忽略在迁移之前已经损坏的失败测试(稍后修复)
  • 删除过时的解决方法。在最新的框架中找到那些由于 changes/fixes 而不再需要的解决方法。通常那些你(希望)用 // workaround: will be fixed in v6.
  • 之类的东西注意到的
  • 将新的 Roslyn 分析器添加到 .editorconfigv5, v6
  • 重新运行测试,并与基线进行比较
  • 更新文档
    • 更新相关项目文档
    • 搜索并更新 version-specific 链接,如有必要,例如指向 docs.microsoft.com 的链接通常具有类似 &view=aspnetcore-5.0 的版本号,而版本
    • 之间可能存在行为变化
  • 提交 git 分支

3。 Post-upgrade

  • 根据需要采用新功能and/or。大多数新框架功能都是可选的,因此只有在您确实需要时才采用它们。
  • 执行必要的任务以满足您的持续集成系统(如果适用)。

v6 核对清单

3。 Post-upgrade