.NET 5 je příští hlavní verze .NET Core následující 3.1. Tuto novou verzi jsme pojmenovali .NET 5 místo .NET Core 4 ze dvou důvodů:
Vynechali jsme čísla verzí 4.x, abychom se vyhnuli nejasnostem s rozhraním .NET Framework 4.x.
Z názvu jsme vynechali "Core", abychom zdůraznili, že se jedná o hlavní implementaci .NET. .NET 5 podporuje více typů aplikací a více platforem než .NET Core nebo .NET Framework.
ASP.NET Core 5.0 je založená na .NET 5, ale zachovává název Core, aby se zabránilo matoucím ASP.NET MVC 5. Stejně tak entity Framework Core 5.0 zachovává název "Core", aby se zabránilo matoucí s Entity Framework 5 a 6.
.NET 5 zahrnuje následující vylepšení a nové funkce v porovnání s .NET Core 3.1:
.NET 5 a novější verze jsou hlavní implementací rozhraní .NET, ale rozhraní .NET Framework 4.x je stále podporováno. Neexistují žádné plány portovat následující technologie z rozhraní .NET Framework do .NET 5, ale existují alternativy v .NET:
Původní implementace technologie Windows Communication Foundation (WCF) byla podporována pouze ve Windows. V .NET Foundation je ale k dispozici port klienta. Je to zcela opensourcový, multiplatformní a podporovaný Microsoftem. Základní balíčky NuGet jsou uvedené níže:
Součásti serveru, které doplňují výše uvedené klientské knihovny, jsou k dispozici prostřednictvím CoreWCF. Od dubna 2022 je CoreWCF oficiálně podporován Microsoftem. Pro alternativu k WCF však zvažte gRPC.
.NET 5 nenahrazuje .NET Standard
Vývoj nových aplikací může určit net5.0 moniker cílové architektury (TFM) pro všechny typy projektů, včetně knihoven tříd. Sdílení kódu mezi úlohami .NET 5 je zjednodušené: vše, co potřebujete, je net5.0 TFM.
Pro aplikace a knihovny net5.0 .NET 5 TFM kombinuje a nahrazuje netcoreapp tfmy.netstandard Pokud ale plánujete sdílet kód mezi úlohami .NET Framework, .NET Core a .NET 5, můžete to udělat tak netstandard2.0 , že zadáte jako TFM. Další informace naleznete v tématu .NET Standard.
Aktualizace jazyka C#
Vývojáři, kteří píší aplikace .NET 5, budou mít přístup k nejnovější verzi a funkcím jazyka C#. .NET 5 je spárovaný s jazykem C# 9, který přináší do jazyka mnoho nových funkcí. Tady je několik hlavních bodů:
Záznamy: Odkazové typy sémantikou rovnosti založené na hodnotách a nedestruktivním mutováním podporovaným novým with výrazem.
Porovnávání relačních vzorů: Rozšiřuje možnosti porovnávání vzorů na relační operátory pro srovnávací vyhodnocení a výrazy, včetně logických vzorů - nová klíčová slova and, ora not.
Příkazy nejvyšší úrovně: Jako prostředek pro urychlení přijetí a učení jazyka C# Main je možné tuto metodu vynechat a aplikace je tak jednoduchá, jak je v následujícím příkladu platné:
System.Console.Write("Hello world!");
Ukazatele funkce: Jazykové konstrukce, které zveřejňují následující zprostředkující jazyky (IL) opcode: ldftn a calli.
Kromě některých zvýrazněných nových funkcí jazyka C# vytvářejí zdrojové generátory cestu k vývojářským projektům. Generátory zdrojů umožňují kód, který se spouští během kompilace, kontrolovat program a vytvářet další soubory kompilované společně se zbytkem kódu.
F# je funkční programovací jazyk .NET a s .NET 5 mají vývojáři přístup k F# 5. Jednou z nových funkcí je interpolované řetězce, podobně jako interpolované řetězce v jazyce C# a dokonce i JavaScript.
let name = "David"
let age = 36
let message = $"{name} is {age} years old."
Kromě základní interpolaceřetězcůch U typované interpolace musí daný typ odpovídat specifikátoru formátu.
let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."
Tento formát je podobný funkci sprintf , která formátuje řetězec na základě typů bezpečných vstupů.
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
.NET je bezplatná opensourcová vývojářská platforma pro různé platformy umožňující vytvářet mnoho různých typů aplikací. S .NET můžete používat více jazyků, editorů a knihoven a vytvářet aplikace pro web, mobilní zařízení, desktopová zařízení, hry a IoT.