Microsoft har publisert åpen kildekode .NET 7-plattformen

Microsoft annonserte i dag en betydelig utgivelse av den åpne plattformen .NET 7, bygget ved å forene .NET Framework-, .NET Core- og Mono-produktene. Med .NET 7 kan du bygge plattformuavhengige applikasjoner for nettleser-, sky-, skrivebords-, IoT- og mobilplattformer ved hjelp av enhetlige biblioteker og en felles byggeprosess uavhengig av applikasjonstype. .NET SDK 7-, .NET Runtime 7- og ASP.NET Core Runtime 7-samlingene er designet for Linux, macOS и Windows.NET Desktop Runtime 6 er bare tilgjengelig for WindowsArbeidet knyttet til dette prosjektet distribueres under MIT-lisensen. .NET 7-grenen vil bli vedlikeholdt i 18 måneder, og avsluttes 14. mai 2024.

.NET 7 inkluderer CoreCLR-kjøretiden med RyuJIT JIT-kompilatoren, standardbiblioteker, CoreFX-biblioteker, WPF, Windows Forms, WinUI, Entity Framework, dotnet-kommandolinjegrensesnittet, samt verktøy for utvikling av mikrotjenester, biblioteker, server-, grafikk- og konsollapplikasjoner. Separat publisert er ASP.NET Core 7.0-nettapplikasjonsutviklingsstakken, Entity Framework Core 7.0 ORM-laget (drivere er tilgjengelige, inkludert for SQLite og PostgreSQL) og WPF 7-biblioteket (Windows Rammeverk for presentasjonsgrunnlag (PF) Windows Forms 7 for GUI-utvikling, Orleans 7-plattformen for bygging av Cloud Native-applikasjoner, MAUI 7-rammeverket for utvikling av brukergrensesnitt for flere plattformer og utgivelser av språkene C# 11 og F# 7. Støtte for .NET 7.0 og C# 11 er inkludert i den gratis kodeeditoren Visual Studio Code.

Funksjoner i den nye utgivelsen:

  • Basisklassebiblioteket (BCL, Base Class Library) ble samlet for bruk i ulike typer applikasjoner, inkludert programmer for skrivebordssystemer, webapplikasjoner, skyplattformer, mobilapplikasjoner, spill, innebygde programmer og maskinlæringssystemer. Du kan bruke én felles SDK, Runtime og et sett med biblioteker for å utvikle forskjellige typer applikasjoner.
  • Gir muligheten til å binde en applikasjon til et API som er kompatibelt med .NET 7-utgivelsen via en målplattformdefinisjon på "net7.0", for eksempel " nett7.0 " For å binde til plattformspesifikke APIer, når du definerer et mål, kan du spesifisere plattformtypen, for eksempel ved å spesifisere "net7.0-android".
  • Betydelig forbedret støtte for ARM64-arkitekturen og fortsatt innsats for å oppnå paritet i ytelsen til .NET-applikasjoner når de kjøres på x86- og ARM64-arkitekturer. I løpet av kjøretiden har effektiviteten ved bruk av tredje nivå cache på ARM64-systemer blitt økt. LSE-instruksjoner ble brukt for å skille minnetilgang fra parallelle tråder, noe som førte til en 45% reduksjon i latens. Håndtere som bruker vektortyper Vector64, Vector128 og Vector256 er lagt til biblioteket, og EncodeToUtf8- og DecodeFromUtf8-funksjonene er skrevet om basert på vektorinstruksjoner, noe som har økt ytelsen med opptil 60 % (for NarrowUtf16ToAscii- og GetIndexAsciiCharn-funksjonen øker ytelsen når 35 %). Generelt økte hastigheten for å bestå tester på ARM64-plattformen med 10-60%.
    Microsoft har publisert åpen kildekode .NET 7-plattformen
  • Forbedret plattformstøtte Linux, inkludert i standardarkiv Ubuntu 22.04 la til pakker med .NET 6 og ga et optimalisert, kompakt og bruksklart Docker-bilde for rask distribusjon av containere med .NET-baserte applikasjoner.
  • Lagt til støtte for IBM Power 64-bits arkitektur (ppc64le).
  • Verktøysettet .NET Upgrade Assistant er introdusert for å forenkle migreringen av eldre applikasjoner til .NET 6 eller .NET 7. Den nye versjonen utvider støtten for migrering av applikasjoner fra ASP.NET til ASP.NET Core, legger til kodeanalysatorer og -korrigerere for WinForms, WPF og klassebiblioteker, implementerer støtte for analyse av kjørbare filer og legger til støtte for UWP (Universal)-plattformen. Windows Plattform).
  • Mulighetene for å lage applikasjoner for skysystemer (cloud-native) og PaaS-plattformer (plattform som en tjeneste) er utvidet. Det er mulig å lage applikasjoner pakket i isolerte beholdere ved å bruke kommandoen "dotnet publiser".
  • Verktøyene for å overvåke statusen til applikasjoner og samle inn beregninger om driften deres er utvidet. Nye hendelser og metoder er lagt til for å analysere applikasjonsaktivitet og ytelse.
  • C# 11 legger til støtte for ubehandlede streng-literaler, som kan inkludere spesialtegn uten behov for å unnslippe dem (slike bokstaver er atskilt med tre anførselstegn). Generaliserte grensesnitt (generisk) for matematiske funksjoner ble foreslått og muligheten til å definere statiske elementer i virtuelle grensesnitt ble gitt, noe som gjorde det mulig å anvende generaliserte programmeringsmetoder for å utføre matematiske operasjoner uten presis informasjon om typen verdier.
  • Funksjonene til standardbiblioteket er utvidet. Lagt til System.Formats.Tar API for arbeid med arkiver i Tar-format. Støtte for mikrosekunder og nanosekunder er lagt til funksjoner for arbeid med tid (TimeStamp, DateTime, etc.). System.Text.Json gir muligheten til å kontrollere serialisering og deserialisering av .NET-typer.
  • I "dotnet new" kommandolinjegrensesnittet er det lagt til støtte for autofullføring av standard prosjektmaler ved å trykke på Tab-tasten.
  • .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.
  • Forbedret ytelse av JIT-kompilatoren. Lagt til støtte for OSR (On Stack Replacement)-mekanismen for å endre koden til allerede utførende metoder, som lar deg foreta optimaliseringer i metoder som tar lang tid å utføre uten å vente på at gjeldende samtale skal fullføres (i TechEmpower-testen, en 10-30 % økning i ytelsen til behandling av de første forespørslene ble notert).
  • Effektiviteten til optimalisering basert på resultatene av kodeprofilering (PGO - Profilveiledet optimalisering) har blitt økt, slik at den kan ta hensyn til funksjoner som bestemmes under programkjøring.
  • Lagt til støtte for kompilering til selvstendige kjørbare (Native AOT), der hele prosjektet i utgangspunktet er kompilert til opprinnelig maskinkode for målplattformen uten bruk av mellomkode og uten bruk av JIT.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster