Bagikan melalui


Yang baru di .NET 5

.NET 5 adalah rilis utama berikutnya dari .NET Core setelah 3.1. Kami menamai rilis baru ini .NET 5 alih-alih .NET Core 4 karena dua alasan:

  • Kami melewati nomor versi 4.x untuk menghindari kebingungan dengan .NET Framework 4.x.
  • Kami menjatuhkan "Core" dari namanya untuk menekankan bahwa ini adalah implementasi utama .NET ke depannya. .NET 5 mendukung lebih banyak jenis aplikasi dan lebih banyak platform daripada .NET Core atau .NET Framework.

ASP.NET Core 5.0 didasarkan pada .NET 5 tetapi mempertahankan nama "Core" untuk menghindari kebingungan dengan ASP.NET MVC 5. Demikian juga, Entity Framework Core 5.0 mempertahankan nama "Core" untuk menghindari membingungkannya dengan Kerangka Kerja Entitas 5 dan 6.

.NET 5 mencakup peningkatan berikut dan fitur baru dibandingkan dengan .NET Core 3.1:

.NET 5 tidak menggantikan .NET Framework

.NET 5 dan versi yang lebih baru adalah implementasi utama .NET ke depannya, tetapi .NET Framework 4.x masih didukung. Tidak ada rencana untuk memindahkan teknologi berikut dari .NET Framework ke .NET 5, tetapi ada alternatif di .NET:

Teknologi Alternatif yang direkomendasikan
Formulir Web ASP.NET Core Blazor atau Razor Pages
Alur Kerja Windows (WF) Alur Kerja Elsa

Windows Communication Foundation

Implementasi asli Windows Communication Foundation (WCF) hanya didukung pada Windows. Namun, ada port klien yang tersedia dari .NET Foundation. Ini sepenuhnya sumber terbuka, lintas platform, dan didukung oleh Microsoft. Paket NuGet inti tercantum di bawah ini:

Komponen server yang melengkapi pustaka klien yang disebutkan di atas tersedia melalui CoreWCF. Pada April 2022, CoreWCF secara resmi didukung oleh Microsoft. Namun, untuk alternatif WCF, pertimbangkan gRPC.

.NET 5 tidak menggantikan .NET Standard

Pengembangan aplikasi baru dapat menentukan net5.0 Moniker Kerangka Kerja Target (TFM) untuk semua jenis proyek, termasuk pustaka kelas. Berbagi kode antara beban kerja .NET 5 disederhanakan: yang Anda butuhkan adalah net5.0 TFM.

Untuk aplikasi dan pustaka .NET 5, net5.0 TFM menggabungkan dan mengganti netcoreapp TFM dan netstandard . Namun, jika Anda berencana untuk berbagi kode antara beban kerja .NET Framework, .NET Core, dan .NET 5, Anda dapat melakukannya dengan menentukan netstandard2.0 sebagai TFM Anda. Untuk informasi selengkapnya, lihat .NET Standard 2.0.

Pembaruan C#

Pengembang yang menulis aplikasi .NET 5 akan memiliki akses ke versi dan fitur C# terbaru. .NET 5 dipasangkan dengan C# 9, yang membawa banyak fitur baru ke bahasa tersebut. Berikut adalah beberapa sorotan:

  • Rekaman: Jenis referensi dengan semantik kesetaraan berbasis nilai dan mutasi non-destruktif yang didukung oleh ekspresi baru with .

  • Pencocokan pola relasional: Memperluas kemampuan pencocokan pola ke operator relasional untuk evaluasi dan ekspresi komparatif, termasuk pola logis - kata kunci andbaru , , ordan not.

  • Pernyataan tingkat atas: Sebagai sarana untuk mempercepat adopsi dan pembelajaran C#, Main metode dapat dihilangkan, dan aplikasi sesingkat contoh berikut valid:

    System.Console.Write("Hello world!");
    
  • Penunjuk fungsi: Konstruksi bahasa yang mengekspos opkode bahasa perantara (IL) berikut: ldftn dan calli.

Untuk informasi selengkapnya tentang fitur C# 9 yang tersedia, lihat Apa yang baru di C# 9.

Generator sumber

Selain beberapa fitur C# baru yang disorot, generator sumber masuk ke proyek pengembang. Generator sumber memungkinkan kode yang berjalan selama kompilasi untuk memeriksa program Anda dan menghasilkan file tambahan yang dikompilasi bersama dengan sisa kode Anda.

Untuk informasi selengkapnya tentang generator sumber, lihat Memperkenalkan generator sumber C# dan sampel generator sumber C#.

Pembaruan F#

F# adalah bahasa pemrograman fungsional .NET, dan dengan .NET 5, pengembang memiliki akses ke F# 5. Salah satu fitur baru adalah string terinterpolasi, mirip dengan string terinterpolasi di C#, dan bahkan JavaScript.

let name = "David"
let age = 36
let message = $"{name} is {age} years old."

Selain interpolasi string dasar, ada interpolasi yang ditik. Dengan interpolasi yang ditik, jenis tertentu harus cocok dengan penentu format.

let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."

Format ini mirip sprintf dengan fungsi yang memformat string berdasarkan input jenis aman.

Untuk informasi selengkapnya, lihat Apa yang baru di F# 5.

Pembaruan Visual Basic

Tidak ada fitur bahasa baru untuk Visual Basic di .NET 5. Namun, dengan .NET 5, dukungan Visual Basic diperluas ke:

Deskripsi parameter dotnet new
Aplikasi Konsol console
Pustaka kelas classlib
Aplikasi WPF wpf
Pustaka Kelas WPF wpflib
Pustaka Kontrol Kustom WPF wpfcustomcontrollib
Pustaka Kontrol Pengguna WPF wpfusercontrollib
Aplikasi Formulir Windows (WinForms) winforms
Pustaka Kelas Formulir Windows (WinForms) winformslib
Proyek Pengujian Unit mstest
Proyek Pengujian NUnit 3 nunit
Item Uji NUnit 3 nunit-test
Proyek Pengujian xUnit xunit

Untuk informasi selengkapnya tentang templat proyek dari .NET CLI, lihat dotnet new.

Fitur baru System.Text.Json

Ada fitur baru di dan untuk System.Text.Json:

Lihat juga