Spoločnosť Microsoft predstavila vydanie otvorenej platformy .NET 11, vytvorenej zlúčením produktov .NET Framework, .NET Core a Mono. Na základe .NET 11 je možné vytvárať multiplatformné aplikácie pre prehliadače, cloudové systémy, desktopové aplikácie, zariadenia IoT a mobilné platformy, pričom sa používajú jednotné knižnice a spoločný proces zostavovania, nezávislý od typu aplikácie. Zostavy .NET SDK 11, .NET Runtime 11 a ASP.NET Core Runtime 11 sú vytvorené pre Linux, macOS a Windows. .NET Desktop Runtime 11 je dodávaný iba pre Windows. Práce súvisiace s projektom sú šírené pod licenciou MIT.
.NET zahŕňa Runtime s JIT kompilátorom RyuJIT, špecifikácie API, knižnice WPF, Windows Forms, WinUI a Entity Framework, ako aj príkazový riadok dotnet a nástroje na vývoj mikroslužieb, knižníc, serverových, grafických a konzolových aplikácií. Samostatne sa dodáva stack na vývoj webových aplikácií ASP.NET Core 11.0, ORM vrstva Entity Framework Core 11.0 (k dispozícii sú aj ovládače pre SQLite a PostgreSQL), knižnica WPF 11 (Windows Presentation Foundation), framework Windows Forms 11 na vývoj GUI, platforma Aspire 11 na vytváranie aplikácií Cloud Native, framework MAUI 11 na vývoj multiplatformných používateľských rozhraní, ako aj vydania jazykov C# 15 a F# 11. Podpora .NET 11.0 a C# 15 je zahrnutá vo voľnom editore kódu Visual Studio Code.
V jazyku C# 15 bolo pridané kľúčové slovo union na deklaráciu typu, ktorého hodnota môže byť iba jedným z vopred uvedených variantných typov. Premennej typu union je možné priradiť hodnoty akéhokoľvek z povolených typov, a pokiaľ sa pokúsite priradiť hodnotu typu, ktorý nebol uvedený pri deklarácii, kompilátor vyhodí chybu.
Funkcie nového vydania:
- public record class Cat(string Name);
public record class Dog(string Name);
public record class Bird(string Name);
public union Pet(Cat, Dog, Bird);Pre triedy bol navrhnutý modifikátor „closed“, pomocou ktorého je možné vytvárať uzavreté hierarchie (closed hierarchy), v ktorých je dedenie z základnej triedy s modifikátorom closed povolené iba v rámci tej zostavy, kde je deklarovaná a v čase kompilácie je známa celá sada priamej dedičnosti. Union typy a uzavreté hierarchie zaručujú, že v konštrukcii switch sú spracované všetky možné varianty, čo umožňuje vyhnúť sa vetve „default“ a premennej „_“.
public record class Cat(string Name);
V novej verzii C# bola pridaná podpora pre prechody z príkazov „break“ a „continue“ na nastavené štítky a rozšírené experimentálne možnosti izolácie v unsafe blokoch kódu, ktoré priamo pracujú s pamäťou (bola pridaná možnosť aplikovať unsafe na jednotlivé výrazy).
- V jazyku F# 11 bolo znížené spotrebovanie pamäte kompilátorom a znížený počet operácií alokácie pamäte pri práci s kolekciami FSharp.Core. Bola pridaná možnosť obmedzenia paralelne vykonávaných asynchrónnych úloh na zabránenie preťaženiu. Bola pridaná predbežná podpora Runtime Async.
- V SDK sú predvolene zahrnuté server MSBuild a predkompilovaná (NativeAOT) varianta CLI nástrojov dotnet.
Zmenšená veľkosť inštalátorov SDK pre Linux a macOS pomocou deduplikácie zostavení. - Bol vykonaný optimalizačný krok v JIT kompilátore, odstránené nadbytočné kontroly hraníc a vetvenia, vylepšená devirtualizácia a rozšírené zlučovanie operácií na konštanty. V AOT kompilátore bol nasadený spoločný spracovávateľ volaní, ktorý umožnil znížiť objem kódu a zvýšiť priepustnosť pri intenzívnom prístupe k rozhraním. Pre Linux a macOS bola implementovaná obnova trasovania zásobníka a informácií o moduloch pri zlyhaní.
- Bol pridaný experimentálny mechanizmus Runtime Async na náhradu generovaného kompilátorom kódu na spracovanie async operácií s implementáciou, ktorá riadi pozastavenie a obnovenie asynchrónnych operácií na úrovni runtime.
- Do SDK bol pridaný šablón servera MCP pre integráciu s AI nástrojmi a službami. Pre aplikácie využívajúce AI služby bol pridaný súbor abstrakcií Microsoft.Extensions.AI (MEAI). Na základe týchto abstrakcií bol vytvorený
Microsoft Agent Framework (MAF), ktorý je možné použiť na vytvorenie AI agentov. - V API Process boli rozšírené možnosti spúšťania procesov s zachytením ich výstupov a kódov dokončenia práce, ako aj kontrolou nad dedičnými deskriptorami.
- V API System.IO.Compression bola pridaná podpora pre kompresný algoritmus Zstandard.
- Boli pridané nové adaptéry prúdení ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream a StringStream.
- Bola pridaná utilita dotnetup pre inštaláciu a aktualizáciu SDK a runtime.
Zdroj: opennet.ru
