Migrasi dari ASP.NET Core 3.0 ke 3.1
Oleh Scott Addie
Artikel ini menjelaskan cara memperbarui proyek ASP.NET Core 3.0 yang ada ke ASP.NET Core 3.1.
Prasyarat
- Visual Studio 2019 16.4 atau yang lebih baru dengan beban kerja ASP.NET dan pengembangan web
- .NET Core 3.1 SDK
Memperbarui versi .NET Core SDK di global.json
Jika Anda mengandalkan global.json file untuk menargetkan versi .NET Core SDK tertentu, perbarui version
properti ke versi SDK 3.1 yang diinstal. Contohnya:
{
"sdk": {
- "version": "3.0.101"
+ "version": "3.1.101"
}
}
Memperbarui kerangka kerja target
Dalam file proyek, perbarui Moniker Kerangka Kerja Target (TFM) ke netcoreapp3.1
:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
Memperbarui referensi paket
Dalam file proyek, perbarui atribut setiap Microsoft.AspNetCore.*
referensi Version
paket ke 3.1.0 atau yang lebih baru. Contohnya:
<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>
Memperbarui gambar Docker
Untuk aplikasi yang menggunakan Docker, gunakan gambar dasar yang menyertakan ASP.NET Core 3.1. Contohnya:
docker pull mcr.microsoft.com/dotnet/aspnet:3.1
Bereaksi terhadap perubahan SameSite cookie
Implementasi SameSite
atribut untuk cookie HTTP berubah antara ASP.NET Core 3.0 dan 3.1. Untuk tindakan yang akan diambil, lihat sumber daya berikut:
- Bekerja dengan cookie SameSite di ASP.NET Core
- aspnet/Pengumuman#390
- Perubahan SameSite cookie mendatang di ASP.NET dan ASP.NET Core
Menerbitkan dengan Visual Studio
.pubxml
Dalam file, perbarui TargetFramework
ke 3.1:
- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
Tinjau perubahan yang melanggar
Tinjau perubahan pemecahan 3.0-ke-3.1 di .NET Core, ASP.NET Core, dan Entity Framework Core saat Melanggar perubahan untuk migrasi dari versi 3.0 ke 3.1.
Perubahan opsional
Perubahan berikut bersifat opsional.
Menggunakan Pembantu Tag Komponen
ASP.NET Core 3.1 memperkenalkan Pembantu Component
Tag. Pembantu Tag dapat menggantikan metode pembantu RenderComponentAsync<TComponent>
HTML dalam Blazor proyek. Contohnya:
- @(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { IncrementAmount = 10 }))
+ <component type="typeof(Counter)" render-mode="ServerPrerendered" param-IncrementAmount="10" />
Untuk informasi selengkapnya, lihat Merender dan mengintegrasikan komponen ASP.NET CoreRazor.
Modul Inti ASP.NET (ANCM)
Jika ASP.NET Core Module (ANCM) bukan komponen yang dipilih saat Visual Studio diinstal atau jika versi ANCM sebelumnya diinstal pada sistem, unduh Penginstal Bundel Hosting .NET Core terbaru (unduh langsung) dan jalankan alat penginstal. Untuk informasi selengkapnya, lihat Bundel Hosting.
ASP.NET Core