Delen via


Belangrijke wijzigingen in .NET 9

Als u een app migreert naar .NET 9, 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 wijziging die fouten veroorzaken als binair niet compatibel of bron, of als gedragswijziging:

  • Binair incompatibel : wanneer deze worden uitgevoerd op basis van de nieuwe runtime of het nieuwe onderdeel, kunnen bestaande binaire bestanden een belangrijke wijziging in gedrag tegenkomen, zoals het laden of uitvoeren van bestanden, en als dat het probleem is, moet opnieuw worden gecompileerd.

  • Bron is niet compatibel : wanneer deze opnieuw wordt gecompileerd met behulp van de nieuwe SDK of het nieuwe onderdeel of om de nieuwe runtime te targeten, kan het zijn dat voor bestaande broncode bronwijzigingen moeten worden gecompileerd.

  • 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.

Notitie

Dit artikel is een werk dat wordt uitgevoerd. Het is geen volledige lijst met belangrijke wijzigingen in .NET 9. Zie Problemen van .NET als u query's wilt uitvoeren op wijzigingen die fouten veroorzaken die nog in behandeling zijn.

ASP.NET Core

Titel Type wijziging Geïntroduceerde versie
DefaultKeyResolution.ShouldGenerateNewKey heeft betekenis gewijzigd Gedragswijziging Preview 3
Dev-certificaatexport maakt geen map meer Gedragswijziging RC 1
HostBuilder schakelt ValidateOnBuild/ValidateScopes in in de ontwikkelomgeving Gedragswijziging Preview 7
verouderde Mono- en Emscripten-API's niet geëxporteerd naar globale naamruimte Bron is niet compatibel GA
Middlewaretypen met meerdere constructors Gedragswijziging RC 1

Containers

Titel Type wijziging Geïntroduceerde versie
Containerafbeeldingen installeren zlib niet meer Gedragswijziging Preview 7
.NET Monitor-afbeeldingen vereenvoudigd tot alleen versietags Gedragswijziging Preview 5

Core .NET-bibliotheken

Titel Type wijziging Geïntroduceerde versie
Als u een ZipArchiveEntry met CompressionLevel toevoegt, worden bitvlagmen voor algemeen gebruik ingesteld in ZIP Central Gedragswijziging Preview 5
OnveiligeAccessor-ondersteuning voor niet-geopende generieken gewijzigd Gedragswijziging Preview 6
API-buitenzool met aangepaste diagnostische id's Bron is niet compatibel (Meerdere)
Maximale lengte bigInteger Gedragswijziging Preview 6
BinaryReader.GetString() retourneert "\uFFFD" op verkeerd gevormde reeksen Gedragswijziging Preview 7
C#-overbelastingresolutie geeft de voorkeur aan overbelastingen van het type span params Bron is niet compatibel
Het maken van een type matrix van System.Void is niet toegestaan Gedragswijziging Preview 1
Standaard Equals() en GetHashCode() gooi voor typen gemarkeerd met InlineArrayAttribute Gedragswijziging Preview 6
EnumConverter valideert geregistreerde typen die moeten worden opgesomd Gedragswijziging Preview 7
FromKeyedServicesAttribute injecteert geen niet-sleutelparameter meer Gedragswijziging RC 1
IncrementingPollingCounter initiële callback is asynchroon Gedragswijziging RC 1
Inlinematrixgroottelimiet wordt afgedwongen Gedragswijziging Preview 1
InMemoryDirectoryInfo prepends rootDir naar bestanden Gedragswijziging Preview 1
Nieuwe TimeSpan.From*() overbelastingen die gehele getallen aannemen Bron is niet compatibel Preview 3
nieuwe versie van sommige OOB-pakketten Bron is niet compatibel Preview 5
RuntimeHelpers.GetSubArray retourneert een ander type Gedragswijziging Preview 1
String.Trim(params ReadOnlySpan<char>) overbelasting verwijderd Bron/binair niet compatibel GA
Ondersteuning voor lege omgevingsvariabelen Gedragswijziging Preview 6
ZipArchiveEntry-namen en opmerkingen respecteren UTF8-vlag Gedragswijziging RC 1

Cryptografie

Titel Type wijziging Geïntroduceerde versie
SafeEvpPKeyHandle.DuplicateHandle up-refs de ingang Gedragswijziging Preview 7
Sommige X509Certificate2- en X509Certificate-constructors zijn verouderd Bron is niet compatibel Preview 7
Levensduur van persoonlijke Windows-sleutel vereenvoudigd Gedragswijziging Preview 7

Implementatie

Titel Type wijziging Geïntroduceerde versie
Afgeschafte windows-/macOS-/Linux MonoVM-runtimepakketten Bron is niet compatibel Preview 7

Interop

Titel Type wijziging Geïntroduceerde versie
CET wordt standaard ondersteund Binair niet compatibel Preview 6

JIT-compiler

Titel Type wijziging Geïntroduceerde versie
Conversies van drijvende komma naar gehele getallen zijn verzadiging Gedragswijziging Preview 4
Sommige SVE-API's zijn verwijderd Bron is niet compatibel RC 2

Netwerken

Titel Type wijziging Geïntroduceerde versie
API-buitenzool Bron is niet compatibel Preview 6
Rapport server.port met metrische gegevens van HttpClient voorwaardelijke Gedragswijziging Preview 7
HttpClientFactory-logboekregistratie voert standaard headerwaarden opnieuw uit Gedragswijziging RC 1
HttpClientFactory maakt gebruik van SocketsHttpHandler als primaire handler Gedragswijziging Preview 6
HttpListenerRequest.UserAgent is nullable Bron is niet compatibel Preview 1
URI-query-redaction in HttpClient EventSource-gebeurtenissen Gedragswijziging Preview 7
URI-queryheractie in IHttpClientFactory-logboeken Gedragswijziging Preview 7

SDK en MSBuild

Titel Type wijziging Geïntroduceerde versie
dotnet restore controleert transitieve pakketten Gedragswijziging Preview 6
dotnet sln add staat ongeldige bestandsnamen niet toe Gedragswijziging 9.0.2xx
dotnet watch niet compatibel met Hot Reload voor oude frameworks Gedragswijziging RC 1
dotnet workload uitvoer van opdrachten wijzigen Gedragswijziging Preview 1
installer opslagplaatsversie niet meer gedocumenteerd Gedragswijziging Preview 5
Nieuwe standaard-RID die wordt gebruikt bij het richten op .NET Framework Bron is niet compatibel GA
Terminallogger is standaard Gedragswijziging Preview 1
Versievereisten voor .NET 9 SDK Bron is niet compatibel GA
Waarschuwing verzonden voor .NET Standard 1.x-doel Bron is niet compatibel Preview 6
Waarschuwing verzonden voor .NET 7-doel Bron is niet compatibel GA

Serialisatie

Titel Type wijziging Geïntroduceerde versie
BinaryFormatter gooit altijd Gedragswijziging Preview 6
Nullbare JsonDocument-eigenschappen deserialiseren naar JsonValueKind.Null Gedragswijziging Preview 1

Windows Forms

Titel Type wijziging Geïntroduceerde versie
BindingSource.SortDescriptions retourneert geen null Gedragswijziging Preview 1
Wijzigingen in annotaties voor null-waarden Bron is niet compatibel Preview 1
ComponentDesigner.Initialize genereert ArgumentNullException Gedragswijziging Preview 1
DataGridViewRowAccessibleObject.Name rijindex starten Gedragswijziging Preview 1
Ondersteuning voor IMsoComponent is opt-in Gedragswijziging Preview 2
Nieuwe beveiligingsanalyses Bron is niet compatibel RC 1
Geen uitzondering als DataGridView null is Gedragswijziging Preview 1
PictureBox genereert HttpClient-uitzonderingen Gedragswijziging Preview 6
StatusStrip maakt gebruik van een andere standaard renderer Gedragswijziging GA

WPF

Titel Type wijziging Geïntroduceerde versie
GetXmlNamespaceMaps typewijziging Gedragswijziging/bron is niet compatibel Preview 3

Zie ook