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


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 (doublehelyett). 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és INumber<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 és unsafe 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 és TaskDialog támogatja ShowDialogAsync. (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 és ToolStrip 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, ReadOnlySpantá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: