当前位置:首页 > 科技  > 软件

.NET Core 3.1 升级到 .NET 8,看看都有哪些变化

来源: 责编: 时间:2023-12-08 09:13:45 172观看
导读.NET Core 3.1 已经用了很长一段时间,其实在 2022 年的年底微软已经不提供支持了,后面的一个 LTS 版本 .NET 6 也会在 2024 年 11 月终止支持,所以直接升级到 .NET 8 是最好的选择。微软官方推出了升级工具:Upgrade Assis

HkO28资讯网——每日最新资讯28at.com

.NET Core 3.1 已经用了很长一段时间,其实在 2022 年的年底微软已经不提供支持了,后面的一个 LTS 版本 .NET 6 也会在 2024 年 11 月终止支持,所以直接升级到 .NET 8 是最好的选择。HkO28资讯网——每日最新资讯28at.com

微软官方推出了升级工具:Upgrade Assistant ,链接地址如下:HkO28资讯网——每日最新资讯28at.com

https://dotnet.microsoft.com/zh-cn/platform/upgrade-assistant/tutorial/introHkO28资讯网——每日最新资讯28at.com

有了升级工具,升级就变得非常简单了,本文就介绍使用升级工具将 .NET Core 3.1 项目升级到 .NET 8 。HkO28资讯网——每日最新资讯28at.com

安装 Upgrade Assistant

先确保  VS2022  已经升级到了 17.8 。然后在 VS2022 的扩展管理中安装扩展:.NET Upgrade Assistant ,需要特别注意的是,如果之前安装过升级工具扩展,需要卸载重新安装。HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

升级项目

.NET Core 3.1 的一个解决方案中,会有很多的项目,按照项目的依赖关系,从最底层的项目逐个往上进行升级。HkO28资讯网——每日最新资讯28at.com

安装完升级工具后,在项目上点击右键就会出现 Upgrade 按钮:HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

在弹窗中选择升级方式:HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

选择升级的目标版本,这里我选择 .NET 8 ,这是一个长线支持版本,最新版本的升级工具只支持升级到 7 和 8 了,如果有升级到 .NET 6 的需求,就需要使用老版本了:HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

选择需要更新的内容,默认全选,点击「Upgrade selection」进行升级:HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

很快就可以看到升级成功的提示:HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

编译

我验证过好几个低版本的项目,使用工具升级的过程没有出现果任何错误,但升级完后进行代码编译就会出现各种问题了。HkO28资讯网——每日最新资讯28at.com

问题1:Ionic.zip

在原来的版本中,项目中的 zip 压缩用到了 Ionic.zip ,现在 .NET8 已经不支持了,需要换成 DotNetZip :HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

问题2:BinaryFormatter 已经过时

代码中有不少地方使用到了二进制的序列化,但 BinaryFormatter 在 .NET8 中已经弃用,有两种解决方式:HkO28资讯网——每日最新资讯28at.com

  • 修改源代码,采用新的推荐的方式进行替换。
  • 修改项目文件,忽略此问题,在项目文件种添加下面配置:
<Project Sdk="Microsoft.NET.Sdk">  <PropertyGroup>   ...   <NoWarn>$(NoWarn);SYSLIB0011</NoWarn>  </PropertyGroup></Project>

参考:https://learn.microsoft.com/zh-cn/dotnet/fundamentals/syslib-diagnostics/syslib0011。HkO28资讯网——每日最新资讯28at.com

问题 3:Aspose  使用问题

项目中对 Office 文件的处理,使用了 Aspose 套件,升级后版本有兼容性问题,升级到对应的版本就行。HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

问题 4:方法二义性

在之前的版本中,List 存储的如果是一个复杂类型,想要按照类型中的某个字段进行去重是没办法直接实现的:HkO28资讯网——每日最新资讯28at.com

List<UserInfo> list = new List<UserInfo>();list.Add(new UserInfo() { Name="oec2003",Age=18});list.Add(new UserInfo() { Name = "oec2003" ,Age=18});list.Add(new UserInfo() { Name = "oec2004" ,Age=18});list.Add(new UserInfo() { Name = "oec2004" ,Age=18});var distnctList = list.DistinctBy(x=>x.Age);foreach (var item in distnctList){    Console.WriteLine(item.Name);}public class UserInfo{    public string Name { get; set; }    public int Age { get; set; }}

上面代码中的 DistinctBy 方法在 .NET Core 3.1 中是没有的,所以我们扩展了一个 DistinctBy 方法,没想到 .NET8 中已经默认提供了,会导致方法冲突,只需要将我们的扩展方法去掉,使用默认就好。HkO28资讯网——每日最新资讯28at.com

HkO28资讯网——每日最新资讯28at.com

运行

解决了上面的几个编译问题后,程序就能正常启动运行了,整个过程还是非常快速的,不得不说,微软的技术向下兼容做的是非常不错的,再加上工具的加持,升级到新的版本没有什么压力和负担。HkO28资讯网——每日最新资讯28at.com

相比之下,其他有些技术虽然也在不停地更新迭代,但主流使用的还是某个特定的版本。HkO28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-39501-0.html.NET Core 3.1 升级到 .NET 8,看看都有哪些变化

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: EventLoop = TaskQueue + RenderQueue,你看明白了吗?

下一篇: 你了解Spring AOP的这个技能点吗?有什么应用场景?

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 跑分安卓第一!Redmi K60至尊版8月发布!卢伟冰:目标年度性能之王

    跑分安卓第一!Redmi K60至尊版8月发布!卢伟冰:目标年度性能之王

    8月5日消息,Redmi K60至尊版将于8月发布,在此前举行的战略发布会上,官方该机将搭载搭载天玑9200+处理器,安兔兔V10跑分超177万分,是目前安卓阵营最高的分数
  • K6:面向开发人员的现代负载测试工具

    K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 2023 年的 Node.js 生态系统

    2023 年的 Node.js 生态系统

    随着技术的不断演进和创新,Node.js 在 2023 年达到了一个新的高度。Node.js 拥有一个庞大的生态系统,可以帮助开发人员更快地实现复杂的应用。本文就来看看 Node.js 最新的生
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了&ldquo;本地生活&rdquo;入口,位置较深,位于首页的&ldquo;充值中心&rdquo;内,目前主要售卖美食相关的
  • 大厂卷向扁平化

    大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    据官方此前宣布,三星将于7月26日也就是明天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 2299元起!iQOO Pad开启预售:性能最强天玑平板

    2299元起!iQOO Pad开启预售:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其搭载了天玑
Top