Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- C#-frissítések
- F#-frissítések
- Visual Basic-frissítések
- System.Text.Json új funkciói
- egyfájlos alkalmazások
- alkalmazás trimmelés
- Windows Arm64 és Arm64 belső mechanika
- Eszköztámogatás a folyamatkép-hibakereséshez
- A futtatókörnyezeti kódtárak 80% jegyzetekkel vannak null értékű hivatkozástípusokhoz
- Teljesítménybeli fejlesztések:
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:
- System.ServiceModel.Duplex
- System.ServiceModel.Federation
- System.ServiceModel.Http
- System.ServiceModel.NetTcp
- System.ServiceModel.Primitives
- System.ServiceModel.Security
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
ésnot
.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
éscalli
.
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:
- Hivatkozások megőrzése és körkörös hivatkozások kezelése
- Szerializálási kiterjesztési metódusok a HttpClienten
- Számok engedélyezése vagy írása idézőjelekben
- Nem módosítható típusok és C# 9 rekordok támogatása
- Nem nyilvános property hozzáférők támogatása
- Támogatási mezők
- Tulajdonságok feltételes figyelmen kívül hagyása
- Nem sztringkulcsú szótárak támogatása
- Engedélyezze az egyéni konverterek számára a null értékek kezelését
- Másolás JsonSerializerOptions
- JsonSerializerOptions létrehozása webböngészős alapértelmezett beállításokkal