前言
近日,公司要求將項目從.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方法注入,具體原因在這
總結
雖然升級過程有點坑,但是完成之後還是挺爽的,技術永遠不會停滯不前,我們只能跟上!