A .NET 9 újdonságai
Ismerje meg a .NET 9 új funkcióit, és keressen további dokumentációra mutató hivatkozásokat.
A .NET 9, a .NET 8 utódja, különös figyelmet fordít a natív felhőbeli alkalmazásokra és teljesítményre. Ez 18 hónapig lesz támogatva standard idejű támogatási (STS) kiadásként. A .NET 9-et itt töltheti le.
A .NET 9 újdonsága, hogy a mérnöki csapat a .NET 9 előzetes frissítéseket a GitHub-vitafórumokonközzéteszi. Ez egy nagyszerű hely, ahol kérdéseket tehet fel, és visszajelzést küldhet a kiadásról.
.NET-futtatókörnyezet
A .NET 9 futtatókörnyezet egy új attribútummodellt tartalmaz a funkciókapcsolókhoz a vágási támogatással. Az új attribútumok lehetővé teszik funkciókapcsolók definiálását, amelyeket a kódtárak a funkciók területeinek váltására használhatnak.
A szemétgyűjtés egy dinamikus adaptációt tartalmaz az alkalmazásmérethez szolgáltatáshoz, amelyet alapértelmezés szerint a kiszolgálói GC helyett használnak.
A futtatókörnyezet számos teljesítménybeli fejlesztést is tartalmaz, beleértve a hurokoptimalizálást, az inliningolást, az Arm64-es vektorizációt és a kódgenerálást.
További információ: A .NET 9 futtatókörnyezetújdonságai.
.NET-kódtárak
System.Text.Json támogatja a null értékű hivatkozástípusú széljegyzeteket, és JSON-sémákat exportál a típusok közül. Új beállításokat ad hozzá, amelyekkel testre szabhatja az írott JSON behúzását, és több gyökérszintű JSON-értéket olvashat egyetlen streamből.
A LINQ-ban az új metódusok CountBy és AggregateBy lehetővé teszik az állapotot kulcs szerint összegezni anélkül, hogy köztes csoportosításokat kellene létrehozni GroupBy.
Gyűjteménytípusok esetén a System.Collections.Generic.PriorityQueue<TElement,TPriority> típus tartalmaz egy új Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>) metódust, amellyel frissítheti az üzenetsor egyik elemének prioritását.
Titkosítás esetén a .NET 9 hozzáad egy új egylövetű kivonatolási módszert a CryptographicOperations típushoz. Emellett a KMAC-algoritmust használó új osztályokat is hozzáad.
Az új PersistedAssemblyBuilder típussal lehetősége van menteni egy kibocsátott assembly-t. Ez az új osztály PDB-támogatást is tartalmaz, ami azt jelenti, hogy szimbólumadatokat bocsáthat ki, és használhatja a létrehozott szerelvény hibakeresésére.
A TimeSpan osztály új From*
metódusokat tartalmaz, amelyekkel TimeSpan
objektumot hozhat létre egy int
(double
helyett). Ezek a módszerek segítenek elkerülni a lebegőpontos számításokban rejlő pontatlanság által okozott hibákat.
További információ: A .NET 9 kódtárak újdonságai.
.NET SDK
A .NET 9 SDK számítási feladatkészleteket vezet be, ahol az összes számítási feladat egyetlen, meghatározott verzióban marad, amíg explicit módon nem frissül. Az eszközök esetében a dotnet tool install
új lehetősége lehetővé teszi, hogy a felhasználók (eszközszerzők helyett) eldöntsék, hogy az eszköz futtatható-e az eszköz által használtnál újabb .NET-futtatókörnyezeti verzióval. Ráadásul:
- Az egységtesztelés jobb MSBuild integrációval rendelkezik, amely lehetővé teszi a tesztek párhuzamos futtatását.
- A NuGet biztonsági naplózásai alapértelmezés szerint közvetlen és tranzitív csomaghivatkozásokon is futnak.
- A terminálnaplózó alapértelmezés szerint engedélyezve van, és jobb használhatósággal is rendelkezik. A hibák és figyelmeztetések teljes száma például a build végén lesz összegezve.
- Új MSBuild szkriptelemzők ("build-ellenőrzések") érhetők el.
- Az SDK képes észlelni és módosítani a .NET SDK és az MSBuild közötti verzióeltéréseket.
- A
dotnet workload history
parancs bemutatja a számítási feladatok telepítésének és az aktuális .NET SDK-telepítés módosításainak előzményeit.
További információ: A .NET 9 SDK újdonságai.
Az AI építőelemei
A .NET 9 egységes C#-absztrakciós réteget vezet be a Microsoft.Extensions.AI és Microsoft.Extensions.VectorData csomagokon keresztül. Ezek az absztrakciók megkönnyítik az AI-szolgáltatásokkal való interakciót, beleértve a kis és nagy nyelvi modelleket (SLM-eket és LLM-eket), a beágyazásokat, a vektortárolókat és a köztes szoftvereket.
A .NET 9 új tenzortípusokat is tartalmaz, amelyek kibővítik az AI-képességeket. TensorPrimitives és az új Tensor<T> típus kibővíti az AI-képességeket a többdimenziós adatok hatékony kódolásának, kezelésének és számításának lehetővé tételével. Ezeket a típusokat a System.Numerics.Tensors csomag legújabb kiadásában találja.
TensorPrimitives
- Bővített metódushatókör: 40-ről közel 200 túlterhelésre nőtt, most már a
Math
,MathF
ésINumber<T>
-hez hasonló numerikus műveleteket is tartalmazza, de az értékszakaszokra vonatkozóan. - Teljesítménybeli fejlesztések: Számos művelet SIMD-optimalizált a jobb teljesítmény érdekében.
- Általános túlterhelések: Bármilyen típusú
T
támogat, amely implementál egy bizonyos felületet, és a .NET-ben az lebegőpontos értékeken túlnyúlik.
Tensor<T>
-
TensorPrimitives
-ra építkezve hatékony matematikai műveleteket valósít meg. - Hatékony együttműködés az AI-kódtárakkal (ML.NET, TorchSharp, ONNX Runtime) ahol csak lehetséges, nulla másolattal.
- Egyszerű és hatékony adatkezelést tesz lehetővé indexelési és szeletelési műveletekkel.
- A .NET 9-ben a kísérleti.
ML.NET
ML.NET egy nyílt forráskódú, platformfüggetlen keretrendszer, amely lehetővé teszi az egyéni gépi tanulási modellek integrálását a .NET-alkalmazásokba.
ML.NET 4.0 a következő fejlesztéseket eredményezi:
- Új módszerek a
MLContext
beállításainak programozott konfigurálására. - ONNX-modellek betöltése
Stream
. - A DataFrame fejlesztései.
- Új képességek a tokenizálókhoz.
- (Kísérleti) A Llama és a Phi modellek családjának TorchSharp portjai.
- (Kísérleti) CausalLM API keretrendszerek.
További információ: A ML.NETújdonságai.
Tokenizálók
A Microsoft.ML.Tokenizers kódtár lehetővé teszi a .NET-fejlesztők számára a szövegek tokenekre való kódolását és dekódolását. Az AI-forgatókönyvek esetében ez fontos a környezet kezelése, a költségek kiszámítása és a szöveg előfeldolgozása a helyi modellek használatakor.
A legújabb kiadás jelentős új képességeket vezet be a tokenizerekhez:
- Tiktoken GPT-hez (3, 3,5, 4, 4o, o1) és Llam3 modellekhez
- Láma (a SentencePiece alapján) Láma és Mistral modellekhez
- CodeGen kódgenerációs modellekhez, például codegen-350M-mono
- Phi2 (CodeGen alapján) Microsoft Phi2-modellhez
- WordPiece
- Bert (WordPiece alapján) Bert által támogatott modellekhez, például optimum-all-MiniLM-L6-v2
.NET Aspire
A .NET Aspire hatékony eszközök, sablonok és csomagok készlete, amelyek megfigyelhető, éles használatra kész alkalmazásokat hozhatnak létre. A .NET Aspire legújabb kiadása az irányítópult és az erőforrás-életciklus-kezelés fejlesztéseit tartalmazza. Emellett új integrációkat és API-kat is hozzáad a fejlesztés során nagyobb rugalmasság érdekében. A .NET Aspire 9 a .NET 9 és a .NET 8 alkalmazásokkal is működik. További információ: A .NET Aspire 9 újdonságai.
ASP.NET Core
ASP.NET .NET 9-zel készült core-alkalmazások alapértelmezés szerint biztonságosak, kiterjesztett támogatást nyújtanak az idő előtti fordításhoz, és jobb monitorozást és nyomkövetést nyújtanak. A teljesítménybeli fejlesztéseknek köszönhetően nagyobb átviteli sebesség és gyorsabb indítási idő érhető el, és mindezt kevesebb memóriahasználat mellett. ASP.NET Core a .NET 9-ben a következőket tartalmazza:
- A statikus fájlok, például a JavaScript és a CSS optimalizált kezelése a buildeléskor és a közzétételkor automatikus ujjlenyomattal ellátott verziószámozással.
- Blazor: Új hibrid és webalkalmazás-sablonok, az összetevők renderelési módjának észlelése, új újracsatlakozási élmény a kiszolgáló renderelésével.
- API-k: Beépített támogatás az OpenAPI-dokumentumok létrehozásához
Microsoft.AspNetCore.OpenAPI
, továbbfejlesztett natív AOT-támogatással. - Továbbfejlesztett biztonság új API-kkal hitelesítéshez és engedélyezéshez.
- A linuxos megbízható fejlesztési tanúsítvány egyszerűbb beállítása a HTTPS engedélyezéséhez a fejlesztés során.
Ezek csak a .NET 9 funkciói és fejlesztései. További információért lásd: Mi újdonság az ASP.NET Core 9.0-ban.
.NET MAUI
A .NET 9 többplatformos alkalmazás felhasználói felületének (.NET MAUI) fókusza a nagyobb teljesítmény és megbízhatóság, valamint az asztali és mobilalkalmazások mélyebb integrációja. A .NET MAUI az iOS és Mac Catalyst CollectionView és CarouselView új, hatékonyabb implementálását, a meglévő vezérlők frissítését, az új alkalmazás életciklus-eseményeket és a natív AOT-t tartalmazza, valamint az alkalmazás méretének és indítási idejének javítása érdekében végzett javításokat. Ráadásul:
- A Windowshoz új TitleBar asztali vezérlő érhető el.
- Az új HybridWebView vezérlő lehetővé teszi a JavaScript-kompatibilis tartalmak könnyebb felvételét olyan keretrendszerekből, mint a ReactJS, a Vue.jsés az Angular.
- Entry mostantól további billentyűzetmódokat is támogat.
- A vezérlőkezelők lehetőség szerint automatikusan lecsatlakoznak a vezérlőikről.
- MainPage elavult, helyette az alkalmazás elsődleges oldalának beállításához a Application.CreateWindow(IActivationState) osztály felülbírálása javasolt.
További információ az új funkciókról és egyebekről: A .NET MAUI újdonságai a .NET 9-hez.
EF Core
Az Entity Framework Core jelentős frissítéseket tartalmaz az Azure Cosmos DB for NoSQL adatbázis-szolgáltatójának. Emellett az AOT-fordítás és az előre összeállított lekérdezések készítésének lépéseit is tartalmazza, többek között további fejlesztéseket is. További információ: Az EF Core 9 újdonságai.
C# 13
A C# 13 a .NET 9 SDK-val rendelkezik, és a következő új funkciókat tartalmazza:
-
params
gyűjtemények - Új
lock
típus és szemantika - Új menekülési sorozat –
\e
- A metóduscsoport természetes típusának fejlesztései
- Implicit indexelő hozzáférés az objektum inicializálóiban
-
ref
helyi ésunsafe
környezetek engedélyezése iterátorokban és aszinkron metódusokban -
ref struct
-típusok engedélyezése interfészek implementálásához - Engedélyezze a ref struct típusok argumentumként való használatát az általános típusparamétereknél.
- A részleges tulajdonságok és indexelők mostantól
partial
típusok esetében engedélyezettek. - A túlterhelésfeloldási prioritás lehetővé teszi, hogy a kódtár-szerzők egy túlterhelést a többinél jobbként jelöljenek ki.
A C# 13 emellett egy előzetes funkciót is hozzáad: field
háttértulajdonságok.
A C# 13 újdonságai: további információkért lásd .
F# 9
Az F# 9 a .NET 9 SDK-val rendelkezik, és a következő új funkciókat tartalmazza:
- Nullértékű hivatkozástípusok
- Diszkriminált unió: Is* tulajdonságok
- A részleges aktív minták az egységbeállítás helyett bool értéket adhatnak vissza
- Az argumentumok megadásakor a bővítménymetelyeket részesíti előnyben a belső tulajdonságokhoz
- Üres testű számítási kifejezések
- A hash direktívák nem sztring paramétereket is elfogadhatnak
- Kiterjesztett #help irányelv az fsi-ben a dokumentáció megjelenítésére az olvasás-értékelés-kiírás ciklusban (REPL).
- A figyelmeztetések letiltásához engedélyezze a #nowarn használatát az FS-kezdetű hibakódok támogatására.
- Figyelmeztetés nem rekurzív függvényeknél vagy let-bound értékeknél a TailCall attribútum miatt
- Attribútum-célok kényszerítése
- Véletlen függvények gyűjteményekhez
- C#-gyűjteménykifejezés támogatása F#-listákhoz és -csoportokhoz
- A fejlesztői hatékonyság, a teljesítmény és az eszközkezelés különböző fejlesztései
További információkért lásd a Az F# 9 újdonságai.
Windows Presentation Foundation
A WPF a .NET 9-ben továbbfejlesztett támogatást nyújt a modern alkalmazások készítéséhez, számos fejlesztéssel és egyebekkel:
- A Windows Fluent téma támogatása.
- A windowsos világos és sötét üzemmódok tématámogatása hozzáadva.
- A témák mostantól támogatják a Windows jelölőszínt.
- A betűtípus-renderelés továbbfejlesztve lett a kötőjelalapú ligatúrák támogatásához.
-
BinaryFormatter
már nem támogatott.
További információért lásd: A .NET 9-hez készült WPF újdonságai.
Windows Forms
A WinForms a .NET 9-ben új témákat, aszinkron fejlesztéseket és egyebeket támogat:
-
Form
ésTaskDialog
támogatjaShowDialogAsync
. (Kísérleti funkció) -
BinaryFormatter
már nem támogatott. - Az alkalmazás sötét módban való megjelenítésének kísérleti támogatása a Windows által támogatott módon.
-
FolderBrowserDialog
ésToolStrip
kisebb fejlesztéseket is végrehajtottak. - A System.Drawing kódtár számos fejlesztésen esett át, többek között gDI+ effektusok burkolásával,
ReadOnlySpan
támogatásával és jobb kódlétrehozással.
További információ: A Windows Forms for .NET 9újdonságai.
Lásd még:
- .NET 9-hez készült elképzelésünk blogbejegyzés
- A ASP.NET Core 9.0 újdonságai
- A .NET MAUI újdonságai
- Az EF Core újdonságai