ASP.NET Core 2.2 迁移至 3.0 备忘录

将 ASP.NET Core 2.2 迁移至 ASP.NET Core 3.0 需要注意的地方记录在这篇随笔中。

TargetFramework 改为 netcoreapp3.0 

<TargetFramework>netcoreapp3.0</TargetFramework>

从 PackageReference 中移除 Microsoft.AspNetCore.App

<PackageReference Include="Microsoft.AspNetCore.App" />

Program 中 WebHost 改为 Host

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

Startup 中 app.UseMvc() 改为 app.UseRouting() 与 app.UseEndpoints()

app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

 .NET Core 3.0 SDK 的 docker 镜像

mcr.microsoft.com/dotnet/core/sdk:3.0

ASP.NET Core 3.0 runtime 的 docker 镜像

mcr.microsoft.com/dotnet/core/aspnet:3.0

Web API 响应的 json 数据中文被编码的问题(详见博问

services.AddMvc().AddNewtonsoftJson();

EF Core 3.0 配置一对一关系(生成 INNER JOIN SQL 语句)

builder.HasOne(p => p.ViewCount)
    .WithOne()
    .IsRequired()
    .HasPrincipalKey<ViewCount>(vc => vc.PostId);

猜你喜欢

转载自www.cnblogs.com/dudu/p/10776880.html