Lire en anglais

Partager via


Changements cassants dans .NET 8

Si vous migrez une application vers .NET 8, les changements cassants répertoriés ici peuvent vous affecter. 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é.

ASP.NET Core

Conteneurs

Bibliothèques .NET Core

Titre Type de changement
Nom de l’opération d’activité quand null Changements de comportement
Comportement AnonymousPipeServerStream.Dispose Changements de comportement
Obsolescences de l’API avec des ID de diagnostic personnalisés Source incompatible
Mappage de barre oblique inverse dans les chemins de fichiers Unix Changements de comportement
Les méthodes Base64.DecodeFromUtf8 ignorent les espaces blancs Changements de comportement
Prise en charge du type d’énumération booléenne supprimée Changements de comportement
Format Complex.ToString remplacé par <a; b> Changements de comportement
Énumération du chemin d’accès au répertoire actif du lecteur Changements de comportement
Enumerable.Sum lève une nouvelle overflowException pour certaines entrées Changements de comportement
FileStream écrit lorsque le canal est fermé Changements de comportement
FindSystemTimeZoneById ne retourne pas un nouvel objet Changements de comportement
GC.GetGeneration peut renvoyer Int32.MaxValue Changements de comportement
Comportement GetFolderPath sur Unix Changements de comportement
GetSystemVersion ne renvoie plus ImageRuntimeVersion Changements de comportement
Annotations pouvant accepter la valeur Null ITypeDescriptorContext Source incompatible
Console.ReadKey héritée supprimée Changements de comportement
Les générateurs de méthodes génèrent des paramètres avec HasDefaultValue défini sur false Changements de comportement
ProcessStartInfo.WindowStyle honoré lorsque UseShellExecute a la valeur false Changements de comportement
RuntimeIdentifier renvoie la plate-forme pour laquelle le runtime a été construit Changements de comportement
Type.GetType lève une exception pour tous les types d’éléments non valides Changements de comportement

Chiffrement

Titre Type de changement Introduit
Taille de la balise d’authentification AesGcm sur macOS Changements de comportement Preview 1
RSA.EncryptValue et RSA.DecryptValue obsolète Source incompatible Preview 1

Déploiement

Titre Type de changement
L’hôte détermine les ressources propres au RID Incompatibilité binaire/Changement de comportement
.NET Monitor inclut uniquement des images sans distortion Changements de comportement
StripSymbols a la valeur true par défaut Changements de comportement

Entity Framework Core

Changements cassants dans EF Core 8

Extensions

Globalisation

Titre Type de changement
Les convertisseurs de date et d’heure respectent l’argument de culture Changements de comportement
La valeur par défaut de TwoDigitYearMax est 2049 Changements de comportement

Interop

Mise en réseau

Réflexion

Titre Type de changement
IntPtr n’est plus utilisé pour les types de pointeur de fonction Changements de comportement

Kit SDK

Titre Type de changement
La sortie de la console CLI utilise UTF-8 Changement de comportement/Source et binaire incompatibles
Encodage de la console non UTF-8 une fois l’opération terminée Changement de comportement/binaire incompatible
Conteneurs par défaut pour utiliser l’étiquette « latest » Changements de comportement
'dotnet pack' utilise la configuration Release Changement de comportement/Source incompatible
'dotnet publish' utilise la configuration Release Changement de comportement/Source incompatible
Sortie dupliquée pour -getItem, -getProperty et -getTargetResult Changements de comportement
using implicite pour System.Net.Http n’est plus ajouté Changement de comportement/Source incompatible
Événements de build dérivés personnalisés de MSBuild déconseillés Changements de comportement
MSBuild respecte DOTNET_CLI_UI_LANGUAGE Changements de comportement
Applications propres au runtime non autonomes Source/Incompatibilité binaire
L’option --arch n’implique pas l’autonomie Changements de comportement
'dotnet restore' génère des avertissements de vulnérabilité de sécurité Changements de comportement
Le kit de développement logiciel (SDK) utilise un graphique RID plus petit Changement de comportement/Source incompatible
Définir DebugSymbols sur false désactive la génération PDB Changements de comportement
Source Link inclus dans le kit de développement logiciel (SDK) .NET Source incompatible
Trimming peut ne pas être utilisé avec .NET Standard ou .NET Framework Changements de comportement
Packages non répertoriés non installés par défaut pour les outils .NET Changements de comportement
Fichier .user importé dans les builds externes Changements de comportement
Exigences de version pour le kit de développement logiciel (SDK) .NET 8 Source incompatible

Sérialisation

Windows Forms

Voir aussi