Delen via


Belangrijke wijzigingen in .NET 7

Als u een app migreert naar .NET 7, kunnen de belangrijke wijzigingen die hier worden vermeld, van invloed zijn op u. Wijzigingen worden gegroepeerd op technologiegebied, zoals ASP.NET Core of Windows Forms.

In dit artikel wordt aangegeven of elke belangrijke wijziging binair compatibel of bron compatibel is:

  • Binair compatibel : bestaande binaire bestanden worden geladen en uitgevoerd zonder hercompilatie, en het runtimegedrag verandert niet.
  • Broncompatibel : broncode wordt zonder wijzigingen gecompileerd wanneer deze gericht is op de nieuwe runtime of het gebruik van de nieuwe SDK of het nieuwe onderdeel.

ASP.NET Core

Titel Binair compatibel Bron compatibel
API-controlleracties proberen parameters van DI af te stellen ✔️
Prioriteit van ASPNET-voorvoegselomgevingsvariabelen ✔️ ✔️
AuthenticateAsync voor externe verificatieproviders ✔️
Verificatie in WebAssembly-apps ✔️
Standaardverificatieschema ✔️
Gebeurtenis-id's voor sommige Microsoft.AspNetCore.Mvc.Core-logboekberichten zijn gewijzigd ✔️
Eindpunten van terugvalbestand ✔️
IHubClients en IHubCallerClients verbergen leden ✔️
Kestrel: Standaard HTTPS-binding verwijderd ✔️
Microsoft.AspNetCore.Server.Kestrel. Transport.Libuv en libuv.dll verwijderd
Microsoft.Data.SqlClient bijgewerkt naar 4.0.1 ✔️
Middleware wordt niet langer uitgesteld naar eindpunt met gedelegeerde null-aanvragen ✔️
MVC-detectie van een lege hoofdtekst in modelbinding is gewijzigd ✔️
Api-wijzigingen in cache opslaan in uitvoer
SignalR Hub-methoden proberen parameters van DI op te lossen ✔️

Core .NET-bibliotheken

Titel Binair compatibel Bron compatibel
API-inleg met standaarddiagnose-id ✔️
API-niet-standaarddiagnose-id's ✔️
BinaryFormatter-serialisatie-API's produceren compilerfouten ✔️
BrotliStream staat niet langer niet-gedefinieerde CompressionLevel-waarden toe ✔️
C++/CLI-projecten in Visual Studio ✔️
Wijzigingen in reflectie-api-uitzonderingen aanroepen ✔️
Collectible Assembly in niet-collectible AssemblyLoadContext ✔️
Precisiewijziging van datum/tijd-toevoegingsmethoden ✔️ ✔️
Is gelijk aan wijziging van methodegedrag voor NaN ✔️
EventSource-callbackgedrag ✔️ ✔️
Algemene typebeperking op PatternContext<T>
Verouderde FileStream-strategie verwijderd ✔️
Bibliotheekondersteuning voor oudere frameworks
Maximale precisie voor tekenreeksen met numerieke notatie ✔️
Regex-patronen met bereiken gecorrigeerd ✔️ ✔️
SerializationFormat.Binary is verouderd
System.Drawing.Common config switch verwijderd ✔️ ✔️
System.Runtime.CompilerServices.Unsafe NuGet-pakket ✔️ ✔️
Tijdvelden op symbolische koppelingen ✔️
Gekoppelde cachevermeldingen bijhouden ✔️
CompressionLevel valideren voor BrotliStream ✔️

Configuratie

Titel Binair compatibel Bron compatibel
System.diagnostics-vermelding in app.config ✔️

Cryptografie

Titel Binair compatibel Bron compatibel
EnvelopdCms ontsleutelen doet niet dubbel uitpakken ✔️
Dynamische X509ChainPolicy-verificatietijd ✔️
X500DistinguishedName parseren van beschrijvende namen ✔️

Implementatie

Titel Binair compatibel Bron compatibel
Alle assembly's zijn standaard ingekort ✔️
Opzoeken op meerdere niveaus is uitgeschakeld ✔️
x86-hostpad in 64-bits Windows ✔️ ✔️
TrimmerDefaultAction is afgeschaft ✔️

Entity Framework Core

Belangrijke wijzigingen in EF Core 7

Uitbreidingen

Titel Binair compatibel Bron compatibel
Bindingsconfiguratie voor woordenlijst breidt waarden uit ✔️ ✔️
ContentRootPath voor apps die zijn gestart door Windows Shell ✔️
Voorvoegsels van omgevingsvariabelen ✔️

Globalisatie

Titel Binair compatibel Bron compatibel
Globalization-API's maken gebruik van ICU-bibliotheken in Windows Server ✔️

Interop

Titel Binair compatibel Bron compatibel
RuntimeInformation.OSArchitecture onder emulatie ✔️

.NET MAUI

Titel Binair compatibel Bron compatibel
Constructors accepteren basisinterface in plaats van betontype ✔️
Hulpmethoden voor stroomrichting verwijderd
Nieuwe parameter UpdateBackground ✔️
De naam van de eigenschap ScrollToRequest is gewijzigd
Sommige Windows-API's worden verwijderd

Netwerken

Titel Binair compatibel Bron compatibel
AllowRenegotiation-standaardwaarde is onwaar
Aangepaste ping-nettoladingen in Linux ✔️
Socket.End-methoden gooien ObjectDisposedException niet ✔️

SDK en MSBuild

Titel Binair compatibel Bron compatibel
Automatische RuntimeIdentifier voor bepaalde projecten ✔️
Automatische RuntimeIdentifier voor alleen publiceren
CLI-console-uitvoer maakt gebruik van UTF-8
Consolecodering niet UTF-8 na voltooiing ✔️
MSBuild serialisatie van aangepaste typen in .NET 7
SDK-installaties naast elkaar
Hulpprogrammamanifesten in hoofdmap ✔️ ✔️
Versievereisten voor .NET 7 SDK ✔️ ✔️
dotnet-test: overschakelen naar -a alias --arch in plaats van --test-adapter-path
dotnet-test: overschakelen naar -r alias --runtime in plaats van --results-dir
--output optie is niet meer geldig voor opdrachten op oplossingsniveau
SDK roept ResolvePackageDependencies niet meer aan ✔️

Serialisatie

Titel Binair compatibel Bron compatibel
DataContractSerializer behoudt teken bij het deserialiseren van -0 ✔️
Versietype deserialiseren met voorloop- of volgspaties ✔️
JsonSerializerOptions copy constructor bevat JsonSerializerContext ✔️
Polymorfische serialisatie voor objecttypen ✔️
System.Text.Json-brongenerator terugval ✔️

Windows Forms

Titel Binair compatibel Bron compatibel
Obsoletions en waarschuwingen ✔️
Sommige API's gooien ArgumentNullException ✔️

WPF

Titel Binair compatibel Bron compatibel Compatibel met eerdere versies
Gedrag van slepen-en-neerzetten in teksteditors hersteld ✔️ ✔️

XML en XSLT

Titel Binair compatibel Bron compatibel
XmlSecureResolver is verouderd

Zie ook