一篇文章搞懂.netcore2.2升级到3.1

前言

近日,公司要求将项目从.net core 2.2升级到3.1 ,记录一下升级的过程,希望能对有此升级要求的人有所帮助

.net core 3.1升级过程

1. 右击程序集,选择edit project file,将TargetFramework 改为netcore 3.1
在这里插入图片描述
修改前:

在这里插入图片描述
修改后 :

在这里插入图片描述
2. 去除packagereference 的Microsoft.AspNetCore.App 包和Microsoft.AspNetCore.Razor.Design.
修改前:
在这里插入图片描述

3.修改 webapi的program文件,实际上.net core 3.1对host进行更高一级的抽象,由webhost 抽象为Host,可以做更多的事情.
修改前:
在这里插入图片描述
修改后 : 在这里插入图片描述
4.ConfigureServices方法修改
mvc 将 service.addMvc() 修改为services.AddControllersWithViews()
webapi 将 service.addMvc() 修改为services.AddControllers()

修改前:
在这里插入图片描述
在这里插入图片描述

修改后 :
在这里插入图片描述
在这里插入图片描述
5.swagger升级修改
修改前:
在这里插入图片描述
修改后 :
在这里插入图片描述
6. confiure 方法修改 ,
mvc

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });`
            

webapi

     app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });         

修改前:
在这里插入图片描述
修改后 :
在这里插入图片描述

7. .netstandard2.0 升级.net standard2.1, 同样将tatgetframework升级

修改前:

在这里插入图片描述修改后 :

在这里插入图片描述

中间遇到的一些问题

startup 构造函数无法注入Ilogger,需要到configure方法注入,具体原因在这
在这里插入图片描述
在这里插入图片描述

总结

虽然升级过程有点坑,但是完成之后还是挺爽的,技术永远不会停滞不前,我们只能跟上!

参考

从 ASP.NET Core 2.2 迁移到3.0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章