Megosztás a következőn keresztül:


A .NET 5 újdonságai

A .NET 5 a .NET Core következő fő kiadása a 3.1 után. Ez a kiadás a .NET Core 4 helyett a .NET 5 nevet kapta két okból:

  • A 4.x-es verziószámokat a rendszer kihagyta a .NET-keretrendszer 4.x-es verziójával való összetévesztés elkerülése érdekében.
  • A "Core" szó el lett távolítva a névből, hogy hangsúlyozzák, hogy ez a .NET fő implementációja. A .NET 5 több alkalmazástípust és több platformot támogat, mint a .NET Core vagy a .NET Framework.

ASP.NET Core 5.0 a .NET 5-en alapul, de megtartja a "Core" nevet, hogy ne keverje össze ASP.NET MVC 5-tel. Hasonlóképpen az Entity Framework Core 5.0 megtartja a "Core" nevet, hogy elkerülje az Entity Framework 5 és 6 közötti összetévesztést.

A .NET 5 a .NET Core 3.1-hez képest a következő fejlesztéseket és új funkciókat tartalmazza:

A .NET 5 nem helyettesíti a .NET-keretrendszert

A .NET 5-ös és újabb verziói a .NET fő implementációi, de a .NET-keretrendszer 4.x továbbra is támogatott. A .NET-keretrendszerből a .NET 5-be nem tervezi a következő technológiák portálását, de a .NET-ben vannak alternatívák:

Technológia Ajánlott alternatíva
Webes űrlapok ASP.NET Core Blazor vagy Razor Pages
Windows-munkafolyamat (WF) Elsa-Workflows

Windows Communication Foundation

A Windows Communication Foundation (WCF) eredeti implementációja csak Windows rendszeren támogatott. A .NET Foundationben azonban elérhető egy ügyfélport. Teljesen nyílt forráskódú, platformfüggetlen, és a Microsoft támogatja. Az alapvető NuGet-csomagok az alábbiakban találhatók:

A fent említett ügyfélkódtárakat kiegészítő kiszolgálóösszetevők CoreWCFkeresztül érhetők el. 2022 áprilisától a Microsoft hivatalosan is támogatja a CoreWCF-et. WCF alternatívájaként azonban fontolja meg a gRPC-t.

A .NET 5 nem helyettesíti a .NET Standardot

Az új alkalmazásfejlesztés minden projekttípushoz megadhatja a net5.0 Target Framework Moniker (TFM) elemet, beleértve az osztálytárakat is. A .NET 5 számítási feladatok közötti kódmegosztás egyszerűbb: mindössze a net5.0 TFM-re van szüksége.

A .NET 5-alkalmazások és -kódtárak esetében a net5.0 TFM egyesíti és lecseréli a netcoreapp és netstandard TFM-eket. Ha azonban kódot szeretne megosztani a .NET-keretrendszer, a .NET Core és a .NET 5 számítási feladatok között, ezt a netstandard2.0 TFM-ként való megadásával teheti meg. További információ: .NET Standard.

C#-frissítések

A .NET 5-alkalmazásokat író fejlesztők hozzáférhetnek a legújabb C# verzióhoz és funkciókhoz. A .NET 5 a C# 9-tel van párosítva, amely számos új funkciót kínál a nyelvhez. Íme néhány fontos elem:

  • Rekordok: Értékalapú egyenlőségi szemantikával és nem destruktív mutációval rendelkező referenciatípusok, amelyeket egy új with kifejezés támogat.

  • Relációs mintaillesztés: Kibővíti a mintaegyeztetési képességeket a relációs operátorokra összehasonlító értékelésekre és kifejezésekre, beleértve a logikai mintákat is – új kulcsszavak: and, orés not.

  • legfelső szintű utasítások: A C#bevezetésének és tanulásának felgyorsítására szolgáló eszközként kihagyható a Main módszer, és az alkalmazás olyan egyszerű, mint az alábbi példa:

    System.Console.Write("Hello world!");
    
  • függvénymutatók: Olyan nyelvi szerkezetek, amelyek a következő köztes nyelv (IL) opcode-jait teszik elérhetővé: ldftn és calli.

További információ a C# 9 elérhető funkcióiról: A C# 9újdonságai.

Forrásgenerátorok

A kiemelt új C#-funkciók mellett a forrásgenerátorok is bevetik magukat a fejlesztői projektekbe. A forrásgenerátorok lehetővé teszik, hogy a fordítás során futó kód megvizsgálja a programot, és további fájlokat állítson elő, amelyek a kód többi részével együtt vannak lefordítva.

További információ a forrásgenerátorokról: A C#-forrásgenerátorok és C#-forrásgenerátorminták bemutatása.

F#-frissítések

Az F# a .NET funkcionális programozási nyelv, és a .NET 5 használatával a fejlesztők hozzáférhetnek az F# 5-höz. Az új funkciók egyike az interpolált sztringek, hasonlóan a C#-ban lévő interpolált sztringekhez, és még a JavaScripthez is.

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

Az alapszintű sztringinterpoláció mellett van típusos interpoláció is. A beírt interpolációval egy adott típusnak meg kell egyeznie a formátumkijelölővel.

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

Ez a formátum hasonló a sprintf függvényhez, amely típusbiztos bemenetek alapján formáz egy sztringet.

További információ: Az F# 5újdonságai.

Visual Basic-frissítések

A Visual Basic nem tartalmaz új nyelvi funkciókat a .NET 5-ben. A .NET 5 esetén azonban a Visual Basic támogatása a következőre terjed ki:

Leírás dotnet new paraméter
Konzolalkalmazás console
Osztálytár classlib
WPF-alkalmazás wpf
WPF-osztálykönyvtár wpflib
WPF egyéni vezérlőtár wpfcustomcontrollib
WPF felhasználói vezérlőtár wpfusercontrollib
Windows Forms (WinForms) alkalmazás winforms
Windows Forms (WinForms) osztálytár winformslib
Egységteszt projekt mstest
NUnit 3 tesztprojekt nunit
NUnit 3 tesztelem nunit-test
xUnit tesztprojekt xunit

A .NET CLI-ből származó projektsablonokkal kapcsolatos további információkért lásd: dotnet new.

System.Text.Json új funkciók

A System.Text.Json új funkciókkal rendelkezik:

Lásd még: