.NET 5 to kolejna główna wersja platformy .NET Core po wersji 3.1. Nazwaliśmy tę nową wersję .NET 5 zamiast .NET Core 4 z dwóch powodów:
Pominięto numery wersji 4.x, aby uniknąć pomyłek z programem .NET Framework 4.x.
Porzuciliśmy wartość "Core" z nazwy, aby podkreślić, że jest to główna implementacja platformy .NET w przyszłości. Platforma .NET 5 obsługuje więcej typów aplikacji i więcej platform niż .NET Core lub .NET Framework.
ASP.NET Core 5.0 jest oparta na platformie .NET 5, ale zachowuje nazwę "Core", aby uniknąć mylące jej z ASP.NET MVC 5. Podobnie program Entity Framework Core 5.0 zachowuje nazwę "Core", aby uniknąć mylące jej z programem Entity Framework 5 i 6.
Platforma .NET 5 zawiera następujące ulepszenia i nowe funkcje w porównaniu z platformą .NET Core 3.1:
Program .NET 5 nie zastępuje programu .NET Framework
.NET 5 i nowsze wersje są główną implementacją platformy .NET w przyszłości, ale program .NET Framework 4.x jest nadal obsługiwany. Nie ma planów przenoszenia następujących technologii z programu .NET Framework do platformy .NET 5, ale istnieją alternatywy na platformie .NET:
Oryginalna implementacja programu Windows Communication Foundation (WCF) była obsługiwana tylko w systemie Windows. Istnieje jednak port klienta dostępny w programie .NET Foundation. Jest to całkowicie open source, międzyplatformowe i obsługiwane przez firmę Microsoft. Poniżej wymieniono podstawowe pakiety NuGet:
Składniki serwera, które uzupełniają wyżej wymienione biblioteki klienckie, są dostępne za pośrednictwem platformy CoreWCF. Od kwietnia 2022 r. platforma CoreWCF jest oficjalnie obsługiwana przez firmę Microsoft. Jednak w przypadku alternatywy dla programu WCF należy rozważyć gRPC.
Platforma .NET 5 nie zastępuje platformy .NET Standard
Tworzenie nowych aplikacji może określać docelową net5.0 strukturę Moniker (TFM) dla wszystkich typów projektów, w tym biblioteki klas. Udostępnianie kodu między obciążeniami platformy .NET 5 jest uproszczone: wszystko, czego potrzebujesz, to net5.0 TFM.
W przypadku aplikacji i bibliotek platformy .NET 5 program net5.0 TFM łączy i zastępuje programy netcoreappnetstandard i TFM. Jeśli jednak planujesz udostępnianie kodu między obciążeniami .NET Framework, .NET Core i .NET 5, możesz to zrobić, określając netstandard2.0 jako serwer TFM. Aby uzyskać więcej informacji, zobacz .NET Standard.
Aktualizacje języka C#
Deweloperzy piszący aplikacje platformy .NET 5 będą mieli dostęp do najnowszej wersji i funkcji języka C#. Platforma .NET 5 jest sparowana z językiem C# 9, co zapewnia wiele nowych funkcji w języku. Oto kilka najważniejszych informacji:
Rekordy: Typy referencyjne z semantykami równości opartymi na wartości i mutacją niedestrukcyjną obsługiwaną przez nowe with wyrażenie.
Dopasowywanie wzorca relacyjnego: rozszerza możliwości dopasowywania wzorców do operatorów relacyjnych na potrzeby ocen porównawczych i wyrażeń, w tym wzorców logicznych — nowych słów kluczowych and, ori not.
Instrukcje najwyższego poziomu: Jako sposób na przyspieszenie wdrażania i uczenia się języka C#, Main można pominąć metodę, a aplikacja jest tak prosta, jak w poniższym przykładzie:
System.Console.Write("Hello world!");
Wskaźniki funkcji: konstrukcje języka, które uwidacznia następujące operacje ldftn języka pośredniego (IL): i calli.
Aby uzyskać więcej informacji na temat dostępnych funkcji języka C# 9, zobacz Co nowego w języku C# 9.
Generatory źródeł
Oprócz niektórych wyróżnionych nowych funkcji języka C# generatory źródeł umożliwiają tworzenie projektów deweloperskich. Generatory źródeł umożliwiają uruchamianie kodu podczas kompilacji w celu sprawdzenia programu i utworzenia dodatkowych plików skompilowanych razem z resztą kodu.
Język F# to funkcjonalny język programowania .NET, a deweloperzy programu .NET 5 mają dostęp do języka F# 5. Jedną z nowych funkcji są ciągi interpolowane, podobne do ciągów interpolowanych w języku C#, a nawet JavaScript.
let name = "David"
let age = 36
let message = $"{name} is {age} years old."
Oprócz podstawowej interpolacji ciągów istnieje interpolacja typowa. W przypadku interpolacji typowej dany typ musi być zgodny ze specyfikatorem formatu.
let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."
Ten format jest podobny do sprintf funkcji, która formatuje ciąg na podstawie bezpiecznych danych wejściowych typu.
W programie .NET 5 nie ma nowych funkcji językowych dla języka Visual Basic. Jednak w przypadku platformy .NET 5 obsługa języka Visual Basic została rozszerzona na:
opis
dotnet new Parametr
Aplikacja konsolowa
console
Biblioteka klas
classlib
Aplikacja WPF
wpf
Biblioteka klas WPF
wpflib
Biblioteka kontrolek niestandardowych WPF
wpfcustomcontrollib
Biblioteka kontroli użytkownika WPF
wpfusercontrollib
Aplikacja Windows Forms (WinForms)
winforms
Biblioteka klas formularzy systemu Windows (WinForms)
winformslib
Projekt testu jednostkowego
mstest
Projekt testowy NUnit 3
nunit
Element testowy NUnit 3
nunit-test
Projekt testowy xUnit
xunit
Aby uzyskać więcej informacji na temat szablonów projektów z poziomu interfejsu wiersza polecenia platformy .NET, zobacz dotnet new.
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
.NET to bezpłatna platforma deweloperska typu open source do tworzenia różnego typu aplikacji dla wielu systemów. Z platformą .NET można używać wielu języków, edytorów i bibliotek do tworzenia aplikacji dla Internetu, urządzeń przenośnych i komputerów, gier i rozwiązań IoT.