一篇文章搞懂.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

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