首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最新.NET和ASP.NET核心(v6)升级清单

最新.NET和ASP.NET核心(v6)升级清单
EN

Stack Overflow用户
提问于 2022-04-24 00:06:20
回答 2查看 484关注 0票数 2

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

是否有一个全面的迁移“清单”,我可以遵循?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-24 00:06:45

任何版本的一般核对表

1.升级前

  • 如果您正在升级一个重要的生产系统,请确保您有几天的时间。
  • 列出所有第三方图书馆(Nuget)的列表,并访问他们的repos。确保每个版本都支持最新的框架版本--如果不支持,那么您还不能升级,或者2)必须为那些与最新框架不兼容的版本找到替代品。

2.升级

  • 结帐新的git分支
  • 运行所有测试:重要的是在升级之前获取一个基线,以便能够在升级之前/之后进行比较。注意失败的测试(如果有的话)(所以以后可以忽略它们)。
  • 回顾发布说明

  • 检查官方移民指南

  • 回顾破缺更改

  • 更新依赖项(在Directory.Build.propsMyProject.csproj中)
    • 必要时更新SDK
    • 更新框架<TargetFramework>net6.0</TargetFramework>
    • 更新语言版本(如有必要):<LangVersion>10.0</LangVersion>
    • 更新名为Microsoft.AspNetCore.*Microsoft.Extensions.*的Microsoft Microsoft.AspNetCore.*
    • 只在必要时更新其他依赖项(以降低迁移的复杂性)。更新为新框架版本更新的库,以及必须更新的库,例如非Microsoft数据库提供程序。
    • 必要时更新相关的dotnet工具(在dotnet-tools.json中或在全球安装的工具)

  • 处理中断更改
    • 修正破损的代码
    • 修复损坏的测试;忽略迁移之前已经中断的失败测试(稍后修复它们)

  • 删除过时的解决方案。找到那些由于最新框架中的更改/修复而不再需要的解决方案。通常情况下,您已经(希望)注意到类似于// workaround: will be fixed in v6的内容。
  • .editorconfig添加新的罗斯林分析器:v5v6
  • 重新运行测试,并与基线进行比较
  • 更新文档
    • 更新相关项目文件
    • 如果有必要,搜索和更新特定于版本的链接,例如,当版本之间可能发生行为更改时,指向learn.microsoft.com的链接通常有一个版本号,如&view=aspnetcore-5.0

  • 提交git分支

3.升级后

  • 如有必要和/或希望采用新的功能。大多数新的框架特性都是可选的,所以只有当您真正想要的时候才采用它们。
  • 执行必要的任务,以满足您的持续集成系统,如果适当的话。

v6核对表

3.升级后

代码语言:javascript
复制
- Refactor for new [minimal hosting model](https://learn.microsoft.com/en-us/aspnet/core/migration/50-to-60#new-hosting-model), by merging `Program.cs` and `Startup.cs`
- Refactor for [minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-6.0#minimal-apis)
票数 5
EN

Stack Overflow用户

发布于 2022-09-27 18:25:10

对于集成测试,如果您正在使用最小的API,并且在program.cs上的可访问性方面有问题

program.cs的末尾添加这一行

代码语言:javascript
复制
public partial class Program
{
    // Expose the Program class for use with WebApplicationFactory<T>
}

有时候光是这样是不够的

代码语言:javascript
复制
  <ItemGroup>
    <InternalsVisibleTo Include ="Project.Test"/>
  </ItemGroup>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71984525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档