本文项目从.NETCore3.1开始一直延续到目前,如果您没有升级过,请参考以下文章:
.Net Core 2.2 升级到 .Net Core 3.1:https://blog.csdn.net/hefeng_aspnet/article/details/131259537
NetCore3.1或Net6.0项目升级到Net7.0:https://blog.csdn.net/hefeng_aspnet/article/details/130128864
Net6.0项目升级到Net7.0:https://blog.csdn.net/hefeng_aspnet/article/details/131286089
Net6.0或Net7.0项目升级到Net8.0:https://blog.csdn.net/hefeng_aspnet/article/details/134659951
打开.NET8.0项目,在项目上右键属性:
进入到属性页面:
选择修改目标框架为.NET 9.0:
如果项目包含多个类库或其它项目,即项目上右键-属性,请重复上面操作即可:
上面都操作完成后,在启动项目上右键-重新生成:
查看输出窗口,全部生成成功:
生成成功后,您可以升级nuget包,或者选择升级nuget包,有些包升级后,不支持原来语法,可以退回至原来版本,项目上右键-管理NuGet程序包:
点击更新:
如果选择所有的包,直接点击右侧更新按钮即可:
有选择的更新:
选择相应程序包-右侧选择版本,点击更新即可。
本文升级AutoMapper-v13.0.1时出现以下异常:
CS0121 以下方法或属性之间的调用具有二义性:“Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.AddAutoMapper(Microsoft.Extensions.DependencyInjection.IServiceCollection, params System.Type[])”和“Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.AddAutoMapper(Microsoft.Extensions.DependencyInjection.IServiceCollection, params System.Type[])”
发现AutoMapper-v13.0.1正常,AutoMapper.Extensions.Microsoft.DependencyInjection-v12.0.1已弃用,将AutoMapper和AutoMapper.Extensions.Microsoft.DependencyInjection版本都降至12.0.0版本后,异常消除.可能因为之前项目内的AutoMapper-v13.0.1语法不支持,后续有时间研究下。
NPOI升级到2.7.2时:
出现:“ToString”方法没有采用 1 个参数的重载
修改代码:
上面是自己封装的类,您也可以使用三元运算进行转换:
var re = date.HasValue ? Convert.ToDateTime(date).ToString("yyy-MM-dd HH:mm:ss"):"";
MQTT升级V4以后:
出现异常:
命名空间“MQTTnet.Client”中不存在类型或命名空间名“Options”(是否缺少程序集引用?)
命名空间“MQTTnet.Client”中不存在类型或命名空间名“Publishing”(是否缺少程序集引用?)
命名空间“MQTTnet.Client”中不存在类型或命名空间名“Receiving”(是否缺少程序集引用?)
命名空间“MQTTnet.Client”中不存在类型或命名空间名“Subscribing”(是否缺少程序集引用?)
命名空间“MQTTnet.Client”中不存在类型或命名空间名“Unsubscribing”(是否缺少程序集引用?)
降级回3.1版本:
降级后,没有错误:
以上异常处理完成之后,在编译即可成功:
调试运行,项目右键-调试-启动新实例或直接F5:
运行一切正常:
调用服务也OK:
以上项目升级完成,没有太多的问题。
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。