Lire en anglais

Partager via


Changements cassants dans .NET 5

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

Cet article indique si chaque changement cassant est compatible binaire ou compatible avec la source :

  • Compatible binaire : les fichiers binaires existants se chargent et s’exécutent correctement sans recompilation et le comportement d’exécution ne change pas.
  • Compatible avec la source : le code source se compile correctement sans changement lors du ciblage du nouveau runtime ou de l’utilisation du nouveau Kit de développement logiciel (SDK) ou composant.

ASP.NET Core

Titre Compatible binaire Compatible avec la source
Les applications ASP.NET Core désérialisent les nombres entre guillemets ✔️
Les API AzureAD.UI et AzureADB2C.UI sont obsolètes ✔️
Les méthodes de sérialisation BinaryFormatter sont obsolètes ✔️
La ressource dans le routage du point de terminaison est HttpContext ✔️
Les packages d’intégration Azure avec préfixe Microsoft ont été supprimés ✔️
Blazor : La logique de priorité des itinéraires a changé dans les applications Blazor ✔️
Blazor : La prise en charge du navigateur a été mise à jour ✔️ ✔️
Blazor : L’espace blanc non significatif a été supprimé par le compilateur ✔️
Blazor : Les types JSObjectReference et JSInProcessObjectReference sont internes ✔️
Blazor : Le framework cible des packages NuGet a été modifié ✔️
Blazor : La fonctionnalité ProtectedBrowserStorage a été déplacée vers le framework partagé ✔️
Blazor : Les champs publics en lecture seule RenderTreeFrame sont désormais des propriétés ✔️
Blazor : La logique de validation pour les ressources web statiques a été mise à jour ✔️
Les API de chiffrement ne sont pas prises en charge sur le navigateur ✔️
Extensions : Modifications de la référence de package ✔️
Les types Kestrel et IIS BadHttpRequestException sont obsolètes ✔️
Des instances HttpClient ont été créées par les codes de statut d’entiers de journaux IHttpClientFactory ✔️
HttpSys : La renégociation du certificat client a est désactivée par défaut ✔️
IIS : Les chaînes de requête de l’intergiciel (middleware) UrlRewrite sont conservées ✔️
Kestrel : Les modifications de configuration sont détectées par défaut ✔️
Kestrel : Les versions du protocole TLS prises en charge par défaut ont été modifiées ✔️
Kestrel : HTTP/2 a été désactivé sur TLS pour les versions de Windows incompatibles ✔️ ✔️
Kestrel : Le transport Libuv est marqué comme obsolète ✔️
Propriétés obsolètes sur ConsoleLoggerOptions ✔️
La classe ResourceManagerWithCultureStringLocalizer et le membre d’interface WithCulture ont été supprimés ✔️
Les API Pubternal ont été supprimées ✔️
Le constructeur obsolète a été supprimé de l’intergiciel (middleware) de localisation des requêtes ✔️
Intergiciel (middleware) : La page d’erreurs de base de données est marquée comme obsolète ✔️
L’intergiciel (middleware) du gestionnaire d’exceptions lève une exception d’origine ✔️ ✔️
ObjectModelValidator appelle une nouvelle surcharge de Validate ✔️
L’encodage du nom du cookie a été supprimé ✔️
Les versions du package NuGet IdentityModel ont été mises à jour ✔️
SignalR : Le type d’options du protocole MessagePack Hub a été modifié ✔️
SignalR : Le protocole MessagePack Hub a été déplacé ✔️
Les méthodes UseSignalR et UseConnections ont été supprimées ✔️
Le type de contenu CSV est maintenant conforme aux normes ✔️

Analyse du code

Titre Compatible binaire Compatible avec la source
Avertissement CA1416 ✔️
Avertissement CA1417 ✔️
Avertissement CA1831 ✔️
Avertissement CA2013 ✔️
Avertissement CA2014 ✔️
Avertissement CA2015 ✔️
Avertissement CA2200 ✔️
Avertissement CA2247 ✔️

Bibliothèques .NET Core

Titre Compatible binaire Compatible avec la source
Modifications de l’API liée à l’assembly pour la publication monofichier ✔️
Les méthodes de sérialisation BinaryFormatter sont obsolètes ✔️
Les API de sécurité d’accès du code sont obsolètes ✔️
CreateCounterSetInstance lève InvalidOperationException ✔️
La valeur ActivityIdFormat par défaut est W3C ✔️
Environment.OSVersion retourne la version correcte ✔️
La valeur de FrameworkDescription est .NET et non pas .NET Core ✔️
Les API GAC sont obsolètes ✔️
Contrôles IsSupported intrinsèques matériels ✔️
IntPtr et UIntPtr implémentent IFormattable ✔️
LastIndexOf gère les chaînes de recherche vides ✔️
Chemins d’accès URI avec des caractères non-ASCII sur UNIX ✔️
Obsolescence d’API avec ID de diagnostics autres que ceux par défaut ✔️
Propriétés obsolètes sur ConsoleLoggerOptions ✔️
Complexité de LINQ OrderBy.First ✔️
Les attributs OSPlatform ont été renommés ou supprimés ✔️
Le package Microsoft.DotNet.PlatformAbstractions a été supprimé ✔️
PrincipalPermissionAttribute est obsolète ✔️
Modifications des noms de paramètres à partir des versions préliminaires ✔️
Modifications des noms de paramètres dans les assemblys de référence ✔️
Les API de communication à distance sont obsolètes ✔️
L’ordre de la liste Activity.Tags est inversé ✔️
Les méthodes de comparaison SSE et SSE2 gèrent NaN ✔️
Thread.Abort est obsolète ✔️
Reconnaissance d’URI des chemins d’accès UNC sur UNIX ✔️
Les chemins d’accès en code UTF-7 sont obsolètes ✔️
Changement de comportement pour Vector2.Lerp et Vector4.Lerp ✔️
Le Vector<T> lève NotSupportedException ✔️

Chiffrement

Entity Framework Core

Changements cassants dans EF Core 5.0

Globalisation

Interop

Mise en réseau

Kit SDK

Sécurité

Sérialisation

Windows Forms

WPF

Titre Compatible binaire Compatible avec la source
OutputType défini sur WinExe ✔️
Les applications WPF utilisent Microsoft.NET.Sdk ✔️

Voir aussi