Microsoft annonserte utgivelsen av den nye versjonen av plattformen din ".NET 7" som inkluderer Runtime med RyuJIT JIT-kompilatoren, API-spesifikasjoner, WPF-biblioteker og andre verktøy.
I tillegg ASP.NET Core 7.0 webapplikasjoner, Entity Framework Core 7.0 ORM-lag, WPF 7 (Windows Presentation Foundation) bibliotek, Windows Forms 7-rammeverk for GUI-utvikling, Orleans-plattformen.
Topp nye funksjoner i .NET 7
I denne nye versjonen baseklassebiblioteket (BCL, Base Class Library) har blitt samlet for bruk i ulike typer applikasjoner, inkludert programmer for skrivebordssystemer, webapplikasjoner, skyplattformer, mobilapplikasjoner, spill, innebygde programmer og maskinlæringssystemer. Du kan bruke en felles SDK, kjøretid og et sett med biblioteker til å utvikle forskjellige typer applikasjoner.
I tillegg til dette fremheves det også at gitt muligheten til å binde en applikasjon til en .NET 7-versjonskompatibel API via en "net7.0" målrammedefinisjon, for eksempel " net7.0 ». For å binde til plattformspesifikke APIer kan du spesifisere plattformtypen når du spesifiserer målet, for eksempel ved å spesifisere "net7.0-android".
også fremhever forbedret støtte for ARM64-arkitektur og fortsatte arbeidet med å oppnå paritet i ytelse for .NET-applikasjoner når de kjøres på både x86- og ARM64-arkitekturer. Forbedret L3-hurtigbuffereffektivitet ved kjøretid på ARM64-systemer. LSE-instruksjoner brukes til å skjerme parallell trådminnetilgang, noe som resulterer i en 45 % reduksjon i ventetid.
Biblioteket la til drivere som bruker vektortypene Vector64, Vector128 og Vector256, og EncodeToUtf8- og DecodeFromUtf8-funksjonene ble skrevet om basert på vektorinstruksjoner, noe som økte ytelsen med opptil 60 % (for funksjonene NarrowUtf16ToAscii og GetIndexOfFirstNonAsciiChar når ytelsesforsterkningen 35 %). Totalt sett økte testpasshastighetene på ARM64-plattformen med 10–60 %.
På den annen side også Linux-støtteforbedringer er fremhevet, inkludert å legge til pakker med .NET 6 til Ubuntu 22.04-lagerlagrene og levering av et optimert, kompakt, ut-av-boksen dokkerbilde for rask distribusjon av containere med .NET-baserte applikasjoner.
Introduserte .NET Upgrade Assistant for å gjøre det enklere å migrere eldre applikasjoner til filialer .NET 6 eller .NET 7. Den nye versjonen har utvidet støtte for portering av ASP.NET-applikasjoner til ASP.NET Core, lagt til kodeparsere og sjekkere for WinForms, WPF og klassebiblioteker, implementert støtte for kjørbare filparsing, lagt til støtte for UWP (Universal Windows-plattform).
Generiske grensesnitt for matematiske funksjoner er foreslått og muligheten for å definere statiske elementer i virtuelle grensesnitt er gitt, som gjorde det mulig å bruke generiske programmeringsmetoder for å utføre matematiske operasjoner uten nøyaktig informasjon om typen verdier.
Ytelsen i JIT-kompilatoren ble også forbedret, I tillegg til å bli lagt til støtte for OSR-mekanismen (On Stack Replacement) for å endre koden for metoder som allerede kjøres, slik at du kan utføre optimaliseringer på metoder som tar lang tid å fullføre uten å vente på at gjeldende samtale skal fullføres (i TechEmpower-testen er det en 10-30 % økning i ytelsen til behandling av de første forespørslene med 10-30 %).
Av andre endringer som skiller seg ut:
- Lagt til støtte for kompilering til selvstendige kjørbare (native AOT), hvor hele prosjektet i utgangspunktet kompileres til native målplattformkode uten bruk av mellomkode og uten bruk av JIT.
- .NET SDK implementerer muligheten til å begrense bruken av medfølgende prosjektmaler; for eksempel kan du bestemme på hvilke operativsystemer malen er gyldig.
- NuGet har lagt til en sentralisert pakkeadministrasjonsmodus som lar deg administrere avhengigheter for flere prosjekter samtidig.
Endelig hvis du er interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.
For de som er interessert, bør du vite at bygg av .NET SDK 7, .NET Runtime 7 og ASP.NET Core Runtime 7 er bygget for Linux, macOS og Windows. .NET Desktop Runtime 6 er bare tilgjengelig for Windows.