從 ASP.NET Core 3.0 移轉至 3.1
作者:Scott Addie
本文說明如何將現有的 ASP.NET Core 3.0 專案更新為 ASP.NET Core 3.1。
必要條件
Visual Studio 2019 16.4 或更新版本 搭配 ASP.NET 和 Web 開發 工作負載
更新 global.json 中的 .NET Core SDK 版本
如果您依賴 global.json 檔案以特定 .NET Core SDK 版本為目標,請將 version
屬性更新為已安裝的 3.1 SDK 版本。 例如:
{
"sdk": {
- "version": "3.0.101"
+ "version": "3.1.101"
}
}
更新目標架構
在專案檔中,將 Target Framework Moniker (TFM) 更新為 netcoreapp3.1
:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
更新套件參考
在專案檔中,將每個 Microsoft.AspNetCore.*
套件參考的 Version
屬性更新為 3.1.0 或更新版本。 例如:
<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.1" />
+ <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.1" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>
更新 Docker 映射
針對使用 Docker 的應用程式,請使用包含 ASP.NET Core 3.1 的基本映射。 例如:
docker pull mcr.microsoft.com/dotnet/aspnet:3.1
React至 SameSite cookie 變更
SameSite
HTTP cookie 的屬性實作在 ASP.NET Core 3.0 和 3.1 之間變更。 如需要採取的動作,請參閱下列資源:
- 在 ASP.NET Core 中使用 SameSite cookie s
- aspnet/Announcements#390
- 即將推出的 SameSite cookie 變更 ASP.NET 和 ASP.NET Core
使用 Visual Studio 發佈
在 檔案中 .pubxml
, TargetFramework
將 更新為 3.1:
- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
檢閱重大變更
在從 3.0 版移轉至 3.0 版到 3.1 版的重大變更時,檢閱跨 .NET Core、ASP.NET Core 和 Entity Framework Core 的重大變更。
選擇性變更
下列變更是選擇性的。
使用元件標籤協助程式
ASP.NET Core 3.1 引進了 Component
標籤協助程式。 標籤協助程式可以取代 RenderComponentAsync<TComponent>
專案中的 Blazor HTML 協助程式方法。 例如:
- @(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { IncrementAmount = 10 }))
+ <component type="typeof(Counter)" render-mode="ServerPrerendered" param-IncrementAmount="10" />
如需詳細資訊,請參閱Prerender 並整合 ASP.NET Core Razor 元件。
ASP.NET Core模組 (ANCM)
如果安裝 Visual Studio 時,ASP.NET Core模組 (ANCM) 不是選取的元件,或已在系統上安裝舊版 ANCM,請下載最新的.NET Core 裝載套件組合安裝程式, (直接下載) 並執行安裝程式。 如需詳細資訊,請參閱 裝載套件組合。