A Microsoft bemutatta a nyílt platformú .NET 6 új, jelentős kiadását, amely a .NET-keretrendszer, a .NET Core és a Mono termékek egyesítésével jött létre. A .NET 6 segítségével többplatformos alkalmazásokat készíthet a böngészőhöz, felhőhöz, asztali számítógépekhez, IoT-eszközökhöz és mobilplatformokhoz közös könyvtárak és az alkalmazás típusától független közös összeállítási folyamat segítségével. A .NET SDK 6, .NET Runtime 6 és ASP.NET Core Runtime 6 buildek elérhetők Linux, macOS és Windows rendszereken. A .NET Desktop Runtime 6 csak Windows rendszerhez érhető el. A projekthez kapcsolódó munkák terjesztése MIT licenc alatt történik.
A .NET 6 futásidejű CoreCLR-t tartalmaz a RyuJIT JIT fordítóval, szabványos könyvtárakat, CoreFX könyvtárakat, WPF-et, Windows Forms-t, WinUI-t, Entity Framework-et, dotnet parancssori felületet, valamint eszközöket mikroszolgáltatások, könyvtárak, szerveroldali, grafikus felhasználói felület és konzol fejlesztéséhez. alkalmazások . Az ASP.NET Core 6.0 és az ORM réteg Entity Framework Core 6.0 (az SQLite és a PostgreSQL-hez is elérhető illesztőprogramok), valamint a C# 10 és F# 6 nyelvek kiadásai külön megjelentek. Támogatás .NET 6.0 és C# 10 esetén a Visual Studio Code ingyenes kódszerkesztő része.
Az új kiadás jellemzői:
- A teljesítmény jelentősen javult, beleértve a fájl I/O optimalizálását is.
- A C# 10 támogatja a rekordstruktúrákat, a globális használó direktívát, a fájlokhoz kötött névtereket és új funkciókat a lambda-kifejezésekhez. A növekményes forráskód-generálás támogatása hozzáadásra került a fordítóhoz.
- Az F# 6 támogatja az aszinkron feladat-végrehajtási mechanizmust és a folyamathibakeresést.
- Elérhető a Hot Reload funkció, amely lehetővé teszi a kód menet közbeni szerkesztését, miközben a program fut, és lehetővé teszi a módosítások végrehajtását a végrehajtás manuális leállítása vagy töréspontok csatolása nélkül. A fejlesztő futtathat egy "dotnet watch"-ot futtató alkalmazást, ami után a kódon végrehajtott módosítások automatikusan rákerülnek a futó alkalmazásra, ami lehetővé teszi, hogy azonnal láthassa az eredményt.
- Hozzáadott "dotnet monitor" segédprogram a dotnet folyamat diagnosztikai információinak eléréséhez.
- Javasoljuk a kódprofilozás eredményein alapuló dinamikus optimalizálás (PGO - Profile-guided optimization) új rendszerét, amely lehetővé teszi a végrehajtási jellemzők elemzése alapján optimálisabb kód generálását. A PGO használata 26%-kal javította a TechEmpower JSON „MVC” programcsomag teljesítményét.
- Az ASP.NET Core, a HttpClient és a gRPC HTTP/3 protokoll támogatással bővült.
- A JSON formátumhoz kapcsolódó API kibővült. Hozzáadott egy új System.Text.Json kódgenerátort és egy rendszert az adatok JSON formátumú sorosításához.
- A Blazor, a webalkalmazások C# nyelven történő létrehozására szolgáló platformja támogatja a Razor komponensek JavaScriptből történő megjelenítését és a meglévő JavaScript-alkalmazásokkal való integrációt.
- Támogatás hozzáadva a .NET kód WebAssembly nézetbe fordításához.
- Támogatás hozzáadva a File IO API-hoz mutató szimbolikus hivatkozásokhoz. Teljesen előírt FileStream.
- Hozzáadott támogatás az OpenSSL 3 könyvtárhoz és a ChaCha20/Poly1305 kriptográfiai algoritmusokhoz.
- A Runtime a W^X (Write XOR Execute, az egyidejű írási és végrehajtási hozzáférést tiltó) és a CET (Control-flow Enforcement Technology) védelmi mechanizmusokat valósítja meg.
- Kísérleti támogatás hozzáadva iOS és Android rendszerhez TFM platformként (Target Framework Moniker).
- Jelentősen javított Arm64 rendszerek támogatása. Hozzáadott támogatás az M1 ARM chipen (Apple Silicon) alapuló Apple eszközökhöz.
- A .NET SDK forráskódból történő felépítésének folyamata leegyszerűsíti a .NET-csomagok létrehozását Linux disztribúciókhoz.
Forrás: opennet.ru