Microsofti ettevõte tutvustas avatud platvormi .NET 11, mis on loodud .NET Frameworki, .NET Core'i ja Mono toodete ühtlustamise tulemusena. .NET 11 põhjal on võimalik luua mitmeplatvormilisi rakendusi veebibrauseritele, pilvesüsteemidele, töölauale, IoT-seadmetele ja mobiilsetele platvormidele, kasutades ühtseid teeke ja ühte koostamisprotsessi, mis ei sõltu rakenduse tüübist. .NET SDK 11, .NET Runtime 11 ja ASP.NET Core Runtime 11 koostised on loodud Linuxi, macOS-i ja Windowsi jaoks. .NET Desktop Runtime 11 on saadaval ainult Windowsi jaoks. Projekte puudutavad tööd levitatakse MIT litsentsi alusel.
.NET sisaldab Runtime'i koos JIT-kompilaatoriga RyuJIT, API spetsifikatsioone, WPF, Windows Forms, WinUI ja Entity Framework teeke, käsurea liidese.
dotnet ning tööriistu mikroteenuste, teekide, serveri-, graafiliste ja konsoolrakenduste arendamiseks. Eraldi on saadaval veebirakenduste arendamiseks mõeldud ASP.NET Core 11.0 kiirend, ORM-tasandi Entity Framework Core 11.0 (sh draiverid SQLite ja PostgreSQL jaoks), WPF 11 teek (Windows Presentation Foundation), Windows Forms 11 raamistik GUI arendamiseks, Aspire 11 platvorm pilves olevate rakenduste loomiseks ja MAUI 11 raamistik mitme platvormi kasutajaliideste arendamiseks, samuti C# 15 ja F# 11 keelte väljalaskmised. .NET 11.0 ja C# 15 tugi on lisatud tasuta koodiredaktorisse Visual Studio Code.
Uue väljaande omadused:
- C# 15 keeles on lisatud märksõna union, et deklareerida tüüpi, mille väärtus võib olla ainult üks eelnevalt loetletud variantidest. Union-tüüpi muutujale on võimalik määrata kõigi lubatud tüüpide väärtusi, kuid kui proovitakse määrata väärtust tüübist, mis oli deklareerimisel määratlemata, annab kompilaator vea.
public record class Cat(string Name);
public record class Dog(string Name);
public record class Bird(string Name);public union Pet(Cat, Dog, Bird);
Klassidele on ette nähtud modifikaator "closed", millega saab luua suletud hierarhiasid (closed hierarchy), kus baasklassist, millel on modifikaator closed, on lubatud pärida ainult selles kogus, kus see on deklareeritud, ja kompileerimise ajal on teada otseste järglaste täiskogum. Union-tüübid ja suletud hierarhiad garanteerivad, et switch-konstruktsioonis on töödeldud kõik võimalikud variandid, mis võimaldab vältida "default" haru ja muutuja "_" olemasolu.
Uues C# versioonis lisati ka toetust "break" ja "continue" avaldustest märkidele üleminekuks ning laiendati eksperimentaalseid võimalusi isoleerimiseks unsafe-koodi plokkides, mis töötavad otse mälu juures (lisati võimalus rakendada unsafe eraldi avaldustes).
- F# 11 keeles on vähendatud kompilaatori mälutarbimist ja minimeeritud mälu eraldamise operatsioonide arvu, kui töötatakse kogumitega FSharp.Core. Lisatud on võimalus piirata samaaegselt käitatavate asünkroonsete tööde arvu koormuse vältimiseks. Lisatud on esialgne tugi Runtime Async.
- SDK-s on vaikimisi lubatud server MSBuild ja eelnevalt kompileeritud (NativeAOT) CLI-töötlustööriistade variant dotnet.
SDK installerite suurus Linuxi ja macOS-i jaoks on vähendatud tänu pakettide deduplicaatsioonile. - JIT-kompilaator on optimeeritud, eemaldatud on liigsed piirikontrollid ja harud, parendatud on devirtualiseerimist ja laiendatud on operatsioonide konstantsideks kokkusurumist. AOT-kompilaatoris on rakendatud üldine kutse töötleja, mis vähendas koodi mahtu ja suurendas läbilaskevõimet, kui intensiivselt suheldakse liidestega. Linuxi ja macOS-i jaoks on rakendatud rakenduste ebaõnnestumise käitumise jälgimine, sealhulgas stack trace ja mooduli teave.
- Lisatud on eksperimentaalne mehhanism Runtime Async, et asendada kompilaatori genereeritud asünkroonsete operatsioonide töötlemise kood rakendusega, mis haldab asünkroonsete operatsioonide peatumist ja taastamist runtime tasandil.
- SDK-s on lisatud mall serverid MCP AI-tööriistade ja teenustega integreerimiseks. AI-teenuseid kasutavatele rakendustele on lisatud Microsoft.Extensions.AI (MEAI) abstraktsioonide komplekt. Nende abstraktsioonide põhjal on loodud
Microsoft Agent Framework (MAF), mida saab kasutada AI-agente loomise jaoks. - Process API-s on laiendatud protsesside käivitamise võimalusi, nende väljundi ja lõppekoodide haaramisega ning kontrollimisega pärandatud tallendajate üle.
- System.IO.Compression API-s on lisatud Zstandard tihendamisalgoritmi toetus.
- Uued adapterid ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream ja StringStream on lisatud.
- Lisatud on utiliit dotnetup SDK ja runtime installimiseks ja uuendamiseks.
Allikas: opennet.ru
