前言
近日,公司要求将项目从.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方法注入,具体原因在这
总结
虽然升级过程有点坑,但是完成之后还是挺爽的,技术永远不会停滞不前,我们只能跟上!