Skip to main content

2.5 .NET5 升级 .NET6

2.5.1 升级注意事项

目前使用 Furion 所有版本(0.x-3.x)的用户均可以快速无缝升级至 Furion v4.x 版本,只需要做少量更改即可。

2.5.1.1 安装 .NET6 SDK

https://dotnet.microsoft.com/download/dotnet/6.0

2.5.1.2 编辑 .csproj 文件

编辑解决方案所有项目的 .csproj 文件,并替换 <TargetFramework>net5.0</TargetFramework><TargetFramework>net6.0</TargetFramework>,如:

当然也可以使用 Ctrl + F 全局替换

2.5.1.3 升级 Nuget

Furion 所有包升级至 v4.8.2.9 版本,同时 Microsoft 所有包升级至 v6.0.8 版本,如:

2.5.1.4 删除 Startup.cs 文件

删除 Web 启动层Startup.cs 文件,如:

2.5.1.5 编辑 Web 启动层 .csproj

编辑 Web 启动层 .csproj 文件,并添加 <ImplicitUsings>enable</ImplicitUsings>,如:

2.5.1.6 替换 Program.cs 内容为:

var builder = WebApplication.CreateBuilder(args).Inject();
var app = builder.Build();
app.Run();
v3.6.4+ 版本

如果使用 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.5.1.7 重新编译整个解决方案

升级完成!!!