Microsoft har lanserat en ny betydande version av den öppna plattformen .NET 6, som har skapats genom att förena produkterna .NET Framework, .NET Core och Mono. Med .NET 6 kan du skapa plattformsoberoende applikationer för webb, molnsystem, skrivbord, IoT-enheter och mobila plattformar, med hjÀlp av en gemensam uppsÀttning bibliotek och en enhetlig byggprocess som inte beror pÄ applikationstyp. .NET SDK 6, .NET Runtime 6 och ASP.NET Core Runtime 6 Àr byggda för Linux, macOS och Windows. .NET Desktop Runtime 6 tillhandahÄlls endast för Windows. Relaterade projektresurser distribueras under MIT-licensen.
.NET 6 inkluderar runtime CoreCLR med JIT-kompilatorn RyuJIT, standardbibliotek, CoreFX-bibliotek, WPF, Windows Forms, WinUI, Entity Framework, kommandoradsgrÀnssnittet dotnet, samt verktyg för att utveckla mikrotjÀnster, bibliotek, server-, grafiska och konsolapplikationer. En separat publicering har gjorts för utvecklingsstacken för webbaserade applikationer ASP.NET Core 6.0 och ORM-lagret Entity Framework Core 6.0 (drivrutiner, inklusive för SQLite och PostgreSQL), och Àven utgÄvor av sprÄken C# 10 och F# 6. Stöd för .NET 6.0 och C# 10 ingÄr i den fria kodredigeraren Visual Studio Code.
Nyhetsfunktioner:
- Prestandan har ökat avsevÀrt, inklusive optimering av filin- och utdata.
- SprÄket C# 10 stöder strukturer i form av poster (record struct), direktivet "global using", filbundna namnomrÄden och nya funktioner för lambda-uttryck. Kompilatorn har Àven fÄtt stöd för inkrementell generering av kÀllkod.
- SprÄket F# 6 har fÄtt stöd för mekanismen för asynkron uppgiftsutförande async och rörledningsavlusning.
- Funktionen Hot Reload Àr tillgÀnglig vilket ger verktyg för att redigera kod i realtid under programkörning, vilket tillÄter Àndringar utan att manuellt stoppa körningen eller anvÀnda stoppunkter. Utvecklaren kan köra applikationen med "dotnet watch", varefter de förÀndringar som görs i koden automatiskt tillÀmpas pÄ den körande applikationen, vilket gör att resultatet omedelbart kan observeras.
- Verktyget "dotnet monitor" har lagts till för att fÄ tillgÄng till diagnostisk information om dotnet-processen.
- Ett nytt dynamiskt optimeringssystem baserat pĂ„ resultat frĂ„n kodprofilering (PGO â Profile-guided optimization) har föreslagits, vilket möjliggör att generera mer optimal kod baserat pĂ„ analys av utförandets egenskaper. AnvĂ€ndning av PGO har ökat prestandan hos TechEmpower JSON "MVC"-projektet med 26%.
- I ASP.NET Core har HttpClient och gRPC fÄtt stöd för HTTP/3-protokollet.
- API:et relaterat till JSON-formatet har utökats. En ny kodgenerator System.Text.Json och ett system för dat serialisering i JSON-format har lagts till.
- Blazor, plattformen för att skapa webbapplikationer i C#, har fÄtt stöd för rendering av Razor-komponenter frÄn JavaScript och integration med befintliga JavaScript-applikationer.
- Stöd för kompilering av .NET-kod till WebAssembly har lagts till.
- Stöd för symboliska lÀnkar har lagts till i API för filoperationer. FileStream har skrivits om helt.
- Stöd för OpenSSL 3-biblioteket och kryptografiska algoritmer ChaCha20/Poly1305 har lagts till.
- I Runtime har mekanismer för skydd implementerats, sÄsom W^X (Write XOR Execute, som förhindrar samtidig skriv- och exekveringsÄtkomst) och CET (Control-flow Enforcement Technology, en skyddsmekanism mot exploateringsmetoder byggda med ÄtervÀndande-orienterad programmering).
- Experimentellt stöd för iOS och Android som TFM-plattformar (Target Framework Moniker) har lagts till.
- Stödet för Arm64-system har förbÀttrats avsevÀrt. Stöd för Apple-enheter baserade pÄ ARM-chippet M1 (Apple Silicon) har lagts till.
- Processen för att bygga .NET SDK frÄn kÀllkod har sÀkerstÀllts, vilket förenklar paketering av .NET för Linux-distributioner.
KĂ€lla: opennet.ru
