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