1
quan01994 2022-02-27 19:33:53 +08:00 1
应该不会有什么问题。
|
2
yejinmo 2022-02-27 19:40:05 +08:00 1
前段时间刚把公司后端从 .Net Core 3.1 升级到 .Net 6.0
感觉除了部分方法需要重写,没啥成本啊 |
3
userforg2021 2022-02-27 20:00:27 +08:00 1
2.2 升级的话变动还是有点大,不过业务代码应该不用动。Host 构建需要改一下,json 序列化有变动,endpoint 机制不同。其他的应该都兼容。参见官方文档。https://docs.microsoft.com/zh-cn/aspnet/core/migration/22-to-30?view=aspnetcore-6.0&tabs=visual-studio
|
4
hervey0424 2022-02-27 20:34:39 +08:00 1
基本没啥太多变化
|
5
sunhelter 2022-02-27 21:05:40 +08:00 1
问题不大,先从 2.2 升到 3.1 ,修复中断性变更导致的错误,再从 3.1 升 6 基本不需要改
|
6
thinkershare 2022-02-27 21:36:52 +08:00 1
最新的 LTS 是 6.0 , 你们如果没有使用太多第三方库, 升级还是非常容易的, .NET Core 2.2 这种短命的版本为什么会用于生产环境呢?用也应该是.NET Core 2.1
|
7
ragnaroks 2022-02-27 21:43:21 +08:00 1
建议新建一个 6.0 的项目模板,然后从旧项目复制除 Startup.cs 以外的所有文件,再重现适配一下
|
8
forgottencoast 2022-02-27 23:12:48 +08:00 1
感觉应该比较轻松,.Net 向前兼容一直都做的很好的。
建议找几个不同类型的典型项目先试试看,大概心中就有数了。 |
9
d0wnl0ad OP 谢谢大家的回应,对这件事情多少有点谱了,至于为啥是用了 2.2 ,只能说供应商太,太,太靠谱了 (默)
|
10
thinkershare 2022-02-28 01:09:01 +08:00 1
|
11
andrewpsy 2022-02-28 01:42:33 +08:00 1
如果项目的单元测试覆盖率好那应该比较轻松。
如果覆盖率不行,得从当前运行的版本往想要升级到的版本看每一版都有什么不兼容变化,可能要修改逻辑。这只能保证你们自己的代码迁移成功,其它用到的库就不好说了。 |
12
weiweiwitch 2022-02-28 07:41:22 +08:00 via Android 1
我们公司有个工具,解析 Excel 的,从 2.1 升级到 3.1 ,然后读取有公式的 cell 就会出错。
所以测试完善了再升级。 |
13
netnr 2022-02-28 08:56:02 +08:00 via Android 1
EF 有个调整,以前不能转脚本的会把全部数据读取到内存再处理,现在报错
|
14
coder001 2022-02-28 14:14:04 +08:00 1
@netnr #13 这大概是把 IQueryable 当成 IEnumerable 用才会把数据全都抓到内存来筛选吧
我也有过傻傻分不清 Expression<Func<T, bool>> 和 Func<T, bool> 的过去,毕竟写出来的代码完全一样 |
16
thtznet 2022-02-28 22:12:56 +08:00 1
.net 2.2 除了启动入口有些写法变化,业务代码基本不需要改动,升级并不复杂,升级后基本上服务能起来就算成功。
|
17
forgottencoast 2022-03-03 19:33:50 +08:00 1
@coder001 这种肯定是没有检查过生成的 SQL 语句。
|