2.9 .NET5 升级 .NET6
2.9.1 升级注意事项
目前使用 Furion
所有版本(0.x-3.x)的用户均可以快速无缝升级至 Furion v4.x
版本,只需要做少量更改即可。
2.9.1.1 安装 .NET6 SDK
https://dotnet.microsoft.com/download/dotnet/6.0
2.9.1.2 编辑 .csproj
文件
编辑解决方案所有项目的 .csproj
文件,并替换 <TargetFramework>net5.0</TargetFramework>
为 <TargetFramework>net6.0</TargetFramework>
,如:
当然也可以使用 Ctrl + F
全局替换
2.9.1.3 升级 NuGet
包
将 Furion
所有包升级至 v4.9.1.7
版本,同时 Microsoft
所有包升级至 v6.0.25
版本,如:
2.9.1.4 删除 Startup.cs
文件
删除 Web 启动层
的 Startup.cs
文件,如:
2.9.1.5 编辑 Web
启动层 .csproj
编辑 Web
启动层 .csproj
文件,并添加 <ImplicitUsings>enable</ImplicitUsings>
,如:
2.9.1.6 替换 Program.cs
内容为:
var builder = WebApplication.CreateBuilder(args).Inject();
var app = builder.Build();
app.Run();
如果使用 Furion 3.6.4+
版本,可直接使用 Serve.Run(RunOptions.Default);
替代上面即可。
如果使用了 Serilog
日志组件,可添加 builder.UseSerilogDefault();
也可以使用 Serve.Run(RunOptions.Default.ConfigureBuilder(builder => builder.UseSerilogDefault()));
。
如果使用了 pgsql
数据库,你还可能需要添加 AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
=> 相关说明:在 .NET6 中 Npgsql 6.0 对时间戳的映射方式进行了一些重要的更改。
2.9.1.7 重新编译整个解决方案
升级完成!!!