Delen via


Belangrijke wijzigingen in .NET 10

Als u een app migreert naar .NET 10, 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.

Dit artikel categoriseert elke brekende verandering als binair niet compatibel of bron niet compatibel, of als een gedragswijziging:

  • Binair incompatibel - Wanneer ze worden uitgevoerd met de nieuwe runtime of het nieuwe onderdeel, kunnen bestaande binaire bestanden een belangrijke wijziging in gedrag ondervinden, zoals een fout bij het laden of uitvoeren, en in dat geval moet opnieuw worden gecompileerd.

  • Bron is niet compatibel - Wanneer de bestaande broncode opnieuw wordt gecompileerd met de nieuwe SDK of het nieuwe onderdeel, of om de nieuwe runtime te gebruiken, kan het zijn dat bronwijzigingen nodig zijn om succesvol te compileren.

  • Gedragswijziging: bestaande code en binaire bestanden kunnen zich tijdens runtime anders gedragen. Als het nieuwe gedrag ongewenst is, moet bestaande code worden bijgewerkt en opnieuw worden gecompileerd.

Opmerking

Dit artikel is in ontwikkeling. Het is geen volledige lijst met belangrijke wijzigingen in .NET 10.

ASP.NET Core

Title Type wijziging
Cookieaanmeldingsomleidingen uitgeschakeld voor bekende API-eindpunten Gedragswijziging
Afschaffing van de extensiemethode WithOpenApi Bron is niet compatibel
Uitzonderingsdiagnose onderdrukt wanneer TryHandleAsync waar retourneert Gedragswijziging
IActionContextAccessor en ActionContextAccessor zijn verouderd Bron incompatibel/gedragswijziging
De eigenschap IncludeOpenAPIAnalyzers en MVC API Analyzers zijn afgeschaft Bron is niet compatibel
IPNetwork en ForwardedHeadersOptions.KnownNetworks zijn verouderd Bron is niet compatibel
Microsoft.Extensions.ApiDescription.Client-pakket afgeschaft Bron is niet compatibel
Razor runtime-compilatie is achterhaald Bron is niet compatibel
WebHostBuilder, IWebHost en WebHost zijn verouderd Bron is niet compatibel

Containers

Title Type wijziging
Standaard .NET-afbeeldingen maken gebruik van Ubuntu- Gedragswijziging

Core .NET-bibliotheken

Title Type wijziging
Gedragsverandering van ActivitySource.CreateActivity en ActivitySource.StartActivity Gedragswijziging
Niet-falterende ladingen van Arm64 SVE vereisen een masker Binair/bron incompatibel
BufferedStream.WriteByte voert geen impliciete flush meer uit Gedragswijziging
C# 14 overbelastingsresolutie met spanparameters Gedragswijziging
Consistent verschuivingsgedrag in algemene wiskunde Gedragswijziging
Standaarddoorgifte van traceringscontext bijgewerkt naar W3C-standaard Gedragswijziging
DriveInfo.DriveFormat retourneert Linux-bestandstypen Gedragswijziging
DynamicallyAccessedMembers annotatie verwijderd uit DefaultValueAttribute-ctor Binair/bron incompatibel
Expliciete structgrootte is niet toegestaan met InlineArray Binair niet compatibel
FilePatternMatch.Stem is gewijzigd in niet-nullable Bron incompatibel/gedragswijziging
GnuTarEntry en PaxTarEntry bevat standaard geen atime en ctime meer Gedragswijziging
Het parseren van LDAP DirectoryControl is nu strenger Gedragswijziging
Normalisatie van MacCatalyst-versie Gedragswijziging
.NET Runtime biedt geen standaardbeëindigingshandlers meer Gedragswijziging
System.Linq.AsyncEnumerable opgenomen in kernbibliotheken Bron is niet compatibel
Type.MakeGenericSignatureType-argumentvalidatie Gedragswijziging

Cryptography

Title Type wijziging
CompositeMLDsa bijgewerkt naar ontwerp-08 Gedragswijziging
CoseSigner.Key kan null zijn Niet-compatibele gedrags-/bronwijziging
MlDsa en SlhDsa 'SecretKey' leden hernoemd Bron is niet compatibel
Cryptografische openSSL-primitieven worden niet ondersteund in macOS Gedragswijziging
OpenSSL 1.1.1 of hoger vereist op Unix Gedragswijziging
De X500DistinguishedName-validatie is strenger Gedragswijziging
X509Certificate- en PublicKey-sleutelparameters kunnen null zijn Niet-compatibele gedrags-/bronwijziging
Omgevingsvariabele hernoemd naar DOTNET_OPENSSL_VERSION_OVERRIDE Gedragswijziging

Entity Framework Core

Belangrijke wijzigingen in EF Core 10

Extensions

Title Type wijziging
BackgroundService voert alle executeAsync uit als een taak Gedragswijziging
Problemen in GetKeyedService() en GetKeyedServices() met AnyKey oplossen Gedragswijziging
Null-waarden behouden in configuratie Gedragswijziging
Bericht wordt niet meer gedupliceerd in consolelogboekuitvoer Gedragswijziging
ProviderAliasAttribute is verplaatst naar de assembly Microsoft.Extensions.Logging.Abstractions Bron is niet compatibel
Annotatie DynamicallyAccessedMembers verwijderd uit trim-onveilige Microsoft.Extensions.Configuration-code Binair niet compatibel

Globalization

Title Type wijziging
Omgevingsvariabele hernoemd naar DOTNET_ICU_VERSION_OVERRIDE Gedragswijziging

Hulpprogramma installeren

Title Type wijziging
dotnet.acquire-API voor VS Code downloadt niet langer altijd de meest recente Gedragswijziging

Interop

Title Type wijziging
IDispatchEx COM-object casten naar IReflect mislukt Gedragswijziging
Apps met één bestand zoeken niet langer naar systeemeigen bibliotheken in uitvoerbare map Gedragswijziging
Als u DllImportSearchPath.AssemblyDirectory specificeert, wordt alleen gezocht in de assembly-directory Gedragswijziging

Networking

Title Type wijziging
HTTP/3-ondersteuning is standaard uitgeschakeld met PublishTrimmed Bron is niet compatibel
HTTP-antwoorden streamen die standaard zijn ingeschakeld in HTTP-clients van browsers Gedragswijziging
Uri lengtelimieten verwijderd Gedragswijziging

Reflection

Title Type wijziging Geïntroduceerde versie
Meer beperkte aantekeningen bij InvokeMember/FindMembers/DeclaredMembers Incompatibel gedrag/bron

SDK en MSBuild

Title Type wijziging
.NET CLI --interactive stelt standaard in op true in gebruikersscenario's Gedragswijziging
dotnet CLI-opdrachten registreren niet-opdracht relevante gegevens naar stderr Gedragswijziging
.NET Tool Packaging maakt RuntimeIdentifier-specifieke hulpprogrammapakketten Gedragswijziging
Standaardconfiguratie voor workloads van 'losse manifesten' naar de modus 'workload-sets' Gedragswijziging
Codedekking EnableDynamicNativeInstrumentation is standaard ingesteld op false Gedragswijziging
dnx.ps1 bestand is niet meer opgenomen in .NET SDK Bron is niet compatibel
dotnet new sln standaard ingesteld op SLNX-bestandsindeling Gedragswijziging
dotnet package list voert herstellen uit Gedragswijziging
dotnet restore controleert transitieve pakketten Gedragswijziging
dotnet tool install --local maakt standaard manifest Gedragswijziging
dotnet watch logt naar stderr in plaats van stdout Gedragswijziging
project.json niet ondersteund in dotnet restore Bron is niet compatibel
SHA-1-vingerafdrukondersteuning afgeschaft in dotnet nuget sign Gedragswijziging
nl-NL: MSBUILDCUSTOMBUILDEVENTWARNING ontsnappingsmogelijkheid verwijderd Gedragswijziging
Verwerking van aangepaste cultuurresources in MSBuild Gedragswijziging
NU1510 wordt gegenereerd voor directe referenties die worden verwijderd door NuGet Bron is niet compatibel
NuGet-pakketten zonder runtime-assets worden niet opgenomen in deps.json Bron is niet compatibel
PackageReference zonder een versie veroorzaakt een fout Gedragswijziging
PrunePackageReference herprivateert directe prunable-verwijzingen Gedragswijziging
HTTP-waarschuwingen omgezet in fouten in dotnet package list en dotnet package search Niet-compatibele gedrags-/bronwijziging
NUGET_ENABLE_ENHANCED_HTTP_RETRY omgevingsvariabele verwijderd Gedragswijziging
NuGet registreert een fout voor ongeldige pakket-id's Gedragswijziging
ToolCommandName niet ingesteld voor niet-toolpakketten Bron is niet compatibel

Serialization

Title Type wijziging
System.Text.Json controleert op conflicten met eigenschapsnamen Gedragswijziging
XmlSerializer negeert eigenschappen die zijn gemarkeerd met ObsoleteAttribute niet meer Gedragswijziging

Windows Forms

Title Type wijziging
API-verouderingen Bron is niet compatibel
nl-NL: Toepassingen die verwijzen naar zowel WPF als WinForms moeten de typen MenuItem en ContextMenu verduidelijken Bron is niet compatibel
Parameter hernoemd in HtmlElement.InsertAdjacentElement Bron is niet compatibel
Afbeeldingstruncatie van TreeView-selectievakje Gedragswijziging
StatusStrip maakt standaard gebruik van System RenderMode Gedragswijziging
System.Drawing OutOfMemoryException veranderd naar ExternalException Gedragswijziging

Windows Presentation Foundation (WPF)

Title Type wijziging
Lege ColumnDefinitions en RowDefinitions zijn niet toegestaan Bron is niet compatibel
Onjuist gebruik van DynamicResource zorgt ervoor dat de toepassing vastloopt Bron incompatibel/gedragswijziging