首页 > 其他分享 >.Net Core3.1 升级到8.0(3.1升级到更高版本)

.Net Core3.1 升级到8.0(3.1升级到更高版本)

时间:2024-01-30 16:23:18浏览次数:37  
标签:8.0 Upgrade 项目 升级 版本 3.1 NET

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

微软官方推出了升级工具:Upgrade Assistant ,链接地址如下:

https://dotnet.microsoft.com/zh-cn/platform/upgrade-assistant/tutorial/intro

有了升级工具,升级就变得非常简单了,本文就介绍使用升级工具将 .NET Core 3.1 项目升级到 .NET 8 。

 

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

 

升级项目
.NET Core 3.1 的一个解决方案中,会有很多的项目,按照项目的依赖关系,从最底层的项目逐个往上进行升级。

1、安装完升级工具后,在项目上点击右键就会出现 Upgrade 按钮:

 2、在弹窗中选择升级方式:

 3、选择升级的目标版本,这里我选择 .NET 8 ,这是一个长线支持版本,最新版本的升级工具只支持升级到 7 和 8 了,如果有升级到 .NET 6 的需求,就需要使用老版本了:

 4、选择需要更新的内容,默认全选,点击「Upgrade selection」进行升级:

 5、很快就可以看到升级成功的提示:

 

 

编译
我验证过好几个低版本的项目,使用工具升级的过程没有出现果任何错误,但升级完后进行代码编译就会出现各种问题了。

注:不同的项目引用错误有所不同。

问题1:Ionic.zip
在原来的版本中,项目中的 zip 压缩用到了 Ionic.zip ,现在 .NET8 已经不支持了,需要换成 DotNetZip :

 

问题2:BinaryFormatter 已经过时
代码中有不少地方使用到了二进制的序列化,但 BinaryFormatter 在 .NET8 中已经弃用,有两种解决方式:

1、修改源代码,采用新的推荐的方式进行替换。

2、修改项目文件,忽略此问题,在项目文件种添加下面配置:

 

参考:https://learn.microsoft.com/zh-cn/dotnet/fundamentals/syslib-diagnostics/syslib0011

问题 3:Aspose 使用问题
项目中对 Office 文件的处理,使用了 Aspose 套件,升级后版本有兼容性问题,升级到对应的版本就行。

 

标签:8.0,Upgrade,项目,升级,版本,3.1,NET
From: https://www.cnblogs.com/lyboke/p/17997367

相关文章

  • 【Java】Java版本升级,找不到符号 问题处理
    哈喽,各位早上/中午/晚上好呀!JDK21出了也有一段时间了,有的小伙伴也按捺不住开始将项目升级到JDK21了吧。既然升级,大概多多少少都会遇到“找不到符号”的问题,英文原文是“cannotfindsymbol”。如何解决呢?以下方式不止针对于升级到JDK21,其它版本的升级配置方法相同。其实Idea......
  • Zabbix升级MySQL数据库的故障
    收到一个MySQL安全漏洞告警,需要修复OracleMySQLJAN2024CriticalPatchUpdate因此想着升级MySQL,步骤如下:sudoapt-getupdatesudoapt-getupgrademysql-serversudosystemctlrestartmysqlmysql--version完成后Zabbix网页界面能打开,但是提示错误如下:TheZabbixdatabaseve......
  • MySQL-8.0.30升级MySQL-8.0.34
    记录一次MySQL漏洞升级操作升级背景:OracleMySQL官方发布MySQL-8.0.30版本高危漏洞CVE-2022-32221、CVE-2022-37434等,受影响版本涉及到8.0.32,官方建议升级至8.0.33,最好使用8.0.34,这里我们将MySQL-8.0.30升级至MySQL-8.0.34版本方案:将原mysql目录重命名,解压新的程序目录软链接到......
  • windows升级jdk17(jdk8与jdk17切换)
    背景:其中一个项目升级为jdk17环境,其他项目使用jdk8windows安装jdk17下载安装jdk17保持和原来jdk8目录一致删除安装jdk17多出来的两个环境变量 回顾三个地方分别是第一级的系统变量`%JAVA_HOME%`配置jdk位置,第二级的path,classpath切换修改的地方系统变量jdk目录验证cm......
  • ubuntu18.04 局域网配置git server步骤
    1.安装ssh2.安装gitsudoapt-getupdatesudoaptinstallvimsudoaptinstallopenssh-serversudoaptinstallgit3.cdhome目录mkdircodecdcodegitinit--baretest.git#创建git-server仓库远程服务器远程地址:/home/joker/code/test.git4.本地电脑目录操作......
  • ubuntu18.04 配置1920 1080
    添加/etc/X11/xorg.conf文件,将此模式保存为默认分辨率。1、$sudovim/etc/X11/xorg.conf(如果没有安装vim,可以使用“sudogedit/etc/X11/xorg.conf”)粘贴以下内容:Section"Monitor"Identifier"ConfiguredMonitor"Modeline"1920x1080_60.00"173.0019202......
  • 华为云DTSE助力车卫士架构升级,探索智能出行行业数字化新路径
    本文分享自华为云社区《华为云DTSE助力车卫士技术架构升级,探索智能出行行业数字化新路径》,作者:HuaweiCloudDeveloper。毫无疑问,在双碳背景以及先进技术的加持下,智能网联汽车已成为汽车产业创新发展的重要方向。十年来,智能网联汽车在政策供给、标准赋能、产业示范和安全保障等方面......
  • 【18.0】MySQL进阶知识之函数
    【一】什么是函数跟存储过程是有区别的,存储过程是自定义函数,函数就类似于内置函数注意与存储过程的区别,mysql内置的函数只能在sql语句中使用!【二】字符串函数【0】介绍CONCAT(str1,str2,...):将多个字符串连接成一个字符串。SUBSTRING(str,start,length):返回字符......
  • 有关UE5在VisualStudio升级后产生C++无法编译的问题及处理方案
    哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!最近,许多使用UE5的游戏开发者遇到了一个问题:在VisualStudio升级后,他们的C++代码无法编译。这个问题可能是由于UE5工程和VS之间的版本不兼容导致的。本文将深入探讨这个问题的原因以及如何解决它。一、问题的产生原因UE5是一款基于C++的游戏......
  • Nacos 官网重大升级,提供官方发行版下载包,3.0 里程碑版本新特性预告
    作者:袁坤(丹坤)、黄子纯(梓莼)、朱颜(竞竞)、季敏(清铭)、杨翊(席翁)、王晨(望宸)、邢学超(于怀)什么是Nacos以及 nacos.ioNacos/nɑ:kəʊs/是Dynamic Namingand Configuration Service的首字母简称,Nacos开源产品定位是更易于构建云原生应用的动态服务发现、配置管理和......