Lire en anglais

Partager via


Changements cassants dans .NET 9

Si vous migrez une application vers .NET 9, les changements cassants répertoriés ici peuvent vous concerner. Les changements sont regroupés par domaine technologique, par exemple ASP.NET Core ou Windows Forms.

Cet article catégorise chaque changement cassant comme binaire incompatible ou source incompatible, ou comme un changement de comportement :

  • Binaire incompatible : lorsqu’ils sont exécutés sur le nouveau runtime ou composant, les fichiers binaires existants peuvent rencontrer un changement de comportement cassant, tel qu’un échec de chargement ou d’exécution, et, si c’est le cas, peuvent nécessiter une recompilation.

  • Source incompatible : lorsqu’il est recompilé à l’aide du nouveau kit de développement logiciel (SDK) ou du nouveau composant ou pour cibler le nouveau runtime, le code source existant peut nécessiter des modifications de source pour réussir la compilation.

  • Changement de comportement : le code et les fichiers binaires existants peuvent se comporter différemment au moment de l’exécution. Si le nouveau comportement n’est pas souhaitable, le code existant doit être mis à jour et recompilé.

Notes

Cet article est un travail en cours. Il ne s’agit pas d’une liste complète des changements cassants dans .NET 9. Pour interroger les changements cassants qui sont encore en attente de publication, consultez Problèmes de .NET.

ASP.NET Core

Titre Type de changement Version introduite
La signification de DefaultKeyResolution.ShouldGenerateNewKey a été modifiée Changements de comportement Preview 3
L’exportation de certificat de développement ne crée plus de dossier Changements de comportement RC 1
HostBuilder active ValidateOnBuild/ValidateScopes dans un environnement de développement Changements de comportement Préversion 7
Types d’intergiciels avec plusieurs constructeurs Changements de comportement RC 1

Conteneurs

Titre Type de changement Version introduite
Les images conteneur .NET 9 n’installent plus zlib Changements de comportement Préversion 7

Bibliothèques .NET Core

Titre Type de changement Version introduite
L’ajout d’un ZipArchiveEntry avec CompressionLevel définit les indicateurs de bits universels d’en-tête de répertoire central ZIP Changements de comportement Préversion 5
Prise en charge de UnsafeAccessor modifiée pour les génériques non ouverts Changements de comportement Préversion 6
Obsolescences de l’API avec des ID de diagnostic personnalisés Source incompatible (Multiple)
Longueur maximale de BigInteger Changements de comportement Préversion 6
BinaryReader.GetString() retourne « \uFFFD » sur des séquences incorrectes Changements de comportement Préversion 7
Création du type de tableau System.Void non autorisée Changements de comportement Preview 1
Valeur par défaut Equals() et GetHashCode() levée pour les types marqués avec InlineArrayAttribute Changements de comportement Préversion 6
EnumConverter valide les types inscrits pour qu’ils soient enum Changements de comportement Préversion 7
FromKeyedServicesAttribute n’injecte plus de paramètre non-clé Changements de comportement RC 1
IncrementingPollingCounter, le premier rappel est asynchrone Changements de comportement RC 1
La limite de taille de struct du tableau inclus est appliquée Changements de comportement Preview 1
InMemoryDirectoryInfo ajoute rootDir au début des fichiers Changements de comportement Preview 1
Nouvelles surcharges TimeSpan.From*() qui acceptent des entiers Source incompatible Preview 3
RuntimeHelpers.GetSubArray retourne un type différent Changements de comportement Preview 1
Surcharge String.Trim(params ReadOnlySpan<char>) supprimée Source/Incompatibilité binaire GA
Prise en charge de variables d’environnement vides Changements de comportement Préversion 6
Les noms et commentaires de ZipArchiveEntry respectent l’indicateur UTF8 Changements de comportement RC 1

Chiffrement

Titre Type de changement Version introduite
SafeEvpPKeyHandle.DuplicateHandle référence le gestionnaire Changements de comportement Préversion 7
Des constructeurs X509Certificate2 et X509Certificate sont obsolètes Source incompatible Préversion 7
Durée de vie simplifiée de la clé privée Windows Changements de comportement Préversion 7

Déploiement

Titre Type de changement Version introduite
Packages d'exécution MonoVM obsolètes pour Windows/macOS/Linux Source incompatible Préversion 7

Interop

Titre Type de changement Version introduite
CET pris en charge par défaut Incompatibilité binaire Préversion 6

Compilateur JIT

Titre Type de changement Version introduite
Les conversions de valeurs à virgules flottantes à valeurs en valeurs entières sont saturantes Changements de comportement Preview 4
Suppression de certaines API de SVE Source incompatible RC 2

Mise en réseau

Titre Type de changement Version introduite
Obsoletions d’API Source incompatible Préversion 6
Rapport des métriques server.port HttpClient sans condition Changements de comportement Préversion 7
La journalisation de HttpClientFactory masque par défaut les valeurs d’en-tête Changements de comportement RC 1
HttpClientFactory utilise SocketsHttpHandler comme gestionnaire principal Changements de comportement Préversion 6
HttpListenerRequest.UserAgent peut accepter la valeur Null Source incompatible Preview 1
Réaction des requêtes URI dans les événements HttpClient EventSource Changements de comportement Préversion 7
Réaction des requêtes URI dans les journaux IHttpClientFactory Changements de comportement Préversion 7

SDK et MSBuild

Titre Type de changement Version introduite
dotnet restore audite les packages transitifs Changements de comportement Préversion 6
dotnet watchincompatible avec Rechargement à chaud pour les anciens frameworks Changements de comportement RC 1
Changement de la sortie des commandes dotnet workload Changements de comportement Preview 1
installer La version du référentiel n’est plus documentée Changements de comportement Préversion 5
L’enregistreur d’événements terminal est utilisé par défaut Changements de comportement Preview 1
Configuration requise pour le Kit de développement logiciel (SDK) .NET 9 Source incompatible GA
Avertissement émis pour la cible .NET Standard 1.x Source incompatible Préversion 6
Avertissement émis pour la cible .NET 7 Source incompatible GA

Sérialisation

Titre Type de changement Version introduite
BinaryFormatter renvoie toujours Changements de comportement Préversion 6

Windows Forms

Titre Type de changement Version introduite
BindingSource.SortDescriptions ne retourne pas Null Changements de comportement Preview 1
Modifications apportées aux annotations de nullabilité Source incompatible Preview 1
ComponentDesigner.Initialize lève ArgumentNullException Changements de comportement Preview 1
Index de ligne de départ DataGridViewRowAccessibleObject.Name Changements de comportement Preview 1
Le support IMsoComponent est à activer Changements de comportement Préversion 2
Nouveaux analyseurs de sécurité Source incompatible RC 1
Aucune exception si DataGridView a la valeur Null Changements de comportement Preview 1
PictureBox déclenche des exceptions HttpClient Changements de comportement Préversion 6

WPF

Titre Type de changement Version introduite
Modification de type GetXmlNamespaceMaps Changement de comportement/Source incompatible Preview 3

Voir aussi