四时宝库

程序员的知识宝库

快速从 ASP.NET Core 3.0 迁移到3.1


先决条件

  • 具有ASP.NET 和 web 开发工作负荷的Visual Studio 2019 16.4 或更高版本
  • .NET Core 3.1 SDK 或更高版本
  • 在 global.json 中更新 .NET Core SDK 版本

    如果依赖于全局 json文件来面向特定的 .NET Core SDK 版本,请将 version 属性更新为安装的 3.1 SDK 版本。 例如:

    diff复制

    Bash
    {
     "sdk": {
    - "version": "3.0.101"
    + "version": "3.1.100"
     }
    }
    

    更新目标框架

    在项目文件中,将目标框架名字对象(TFM)更新为 netcoreapp3.1:

    diff复制

    Bash
    <Project Sdk="Microsoft.NET.Sdk.Web">
    
     <PropertyGroup>
    - <TargetFramework>netcoreapp3.0</TargetFramework>
    + <TargetFramework>netcoreapp3.1</TargetFramework>
     </PropertyGroup>
    
    </Project>
    

    更新包引用

    在项目文件中,将每个 Microsoft.AspNetCore.* 包引用的 Version 属性更新为3.1.0 或更高版本。 例如:

    diff复制

    Bash
    <ItemGroup>
    - <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
    - <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.0.0" Condition="'$(Configuration)' == 'Debug'" />
    + <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.0" />
    + <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.0" Condition="'$(Configuration)' == 'Debug'" />
    </ItemGroup>
    

    更新 Docker 映像

    对于使用 Docker 的应用,请使用包含 ASP.NET Core 3.1 的基本映像。 例如:

    console复制

    Bash
    docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1
    

    响应 SameSite cookie 更改

    HTTP cookie SameSite 特性实现在 ASP.NET Core 3.0 和3.1 之间发生了更改。 要执行的操作,请参阅以下资源:

    • 在 ASP.NET Core 中使用 SameSite cookie
    • aspnet/公告 # 390
    • 即将推出 SameSite cookie 更改 ASP.NET 和 ASP.NET Core

    查看重大更改

    跨 .NET Core 查看3.0 到3.1 的重大更改,ASP.NET Core,并 Entity Framework Core从3.0 版本迁移到3.1 的重大更改。

    可选更改

    以下更改是可选的。

    使用组件标记帮助程序

    ASP.NET Core 3.1 引入了 Component 标记帮助器。 标记帮助程序可以在 Blazor 项目中替换 RenderComponentAsync<TComponent> HTML 帮助器方法。 例如:

    diff复制

    Bash
    - @(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { IncrementAmount = 10 }))
    + <component type="typeof(Counter)" render-mode="ServerPrerendered" param-IncrementAmount="10" />
    

    有关详细信息,请参阅将组件集成到 Razor Pages 和 MVC 应用。

    发表评论:

    控制面板
    您好,欢迎到访网站!
      查看权限
    网站分类
    最新留言
      友情链接