Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous migrez une application vers .NET 10, les changements importants 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 radical comme incompatible binaire ou incompatible source, ou comme un changement de comportement :
incompatibilité binaire : lors de l’exécution sur le nouveau runtime ou le nouveau composant, les fichiers binaires existants peuvent rencontrer un changement perturbateur du comportement, tel qu’un échec de chargement ou d’exécution, et, le cas échéant, 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 comportemental : le code et les fichiers binaires existants peuvent se comporter différemment lors de l’exécution. Si le nouveau comportement n’est pas souhaitable, le code existant doit être mis à jour et recompilé.
Note
Cet article est un travail en cours. Il ne s’agit pas d’une liste complète des changements cassants dans .NET 10.
ASP.NET Core
| Titre | Type de changement |
|---|---|
| Les redirections d'authentification par cookies sont désactivées pour les points de terminaison d'API connus | Changements de comportement |
| Dépréciation de la méthode d’extension WithOpenApi | Source non compatible |
| Diagnostics d’exception supprimés lorsque TryHandleAsync retourne true | Changements de comportement |
| IActionContextAccessor et ActionContextAccessor sont obsolètes | Source incompatible/changement de comportement |
| La propriété IncludeOpenAPIAnalyzers et les analyseurs d’API MVC sont déconseillés | Source non compatible |
| IPNetwork et ForwardedHeadersOptions.KnownNetworks sont obsolètes | Source non compatible |
| Package Microsoft.Extensions.ApiDescription.Client déconseillé | Source non compatible |
| Razor la compilation du runtime est obsolète | Source non compatible |
| WebHostBuilder, IWebHost et WebHost sont obsolètes | Source non compatible |
Containers
| Titre | Type de changement |
|---|---|
| images .NET par défaut utilisent Ubuntu | Changements de comportement |
Bibliothèques .NET Core
Cryptography
| Titre | Type de changement |
|---|---|
| CompositeMLDsa mis à jour à la version préliminaire 08 | Changements de comportement |
| CoseSigner.Key peut être null | Changement incompatible de comportement/source |
| Membres MLDsa et SlhDsa 'SecretKey' renommés | Source non compatible |
| Les primitives de chiffrement OpenSSL ne sont pas prises en charge sur macOS | Changements de comportement |
| OpenSSL 1.1.1 ou version ultérieure requise sur Unix | Changements de comportement |
| La validation de X500DistinguishedName est plus stricte | Changements de comportement |
| Les paramètres de clé X509Certificate et PublicKey peuvent être null | Changement incompatible de comportement/source |
| variable d’environnement renommée en DOTNET_OPENSSL_VERSION_OVERRIDE | Changements de comportement |
Entity Framework Core (infrastructure d'entité de base)
Changements cassants dans EF Core 10
Extensions
| Titre | Type de changement |
|---|---|
| BackgroundService exécute l’ensemble d’ExecuteAsync en tant que tâche | Changements de comportement |
| Résoudre les problèmes dans GetKeyedService() et GetKeyedServices() avec AnyKey | Changements de comportement |
| Valeurs Null conservées dans la configuration | Changements de comportement |
| Message qui n’est plus dupliqué dans la sortie du journal de la console | Changements de comportement |
| ProviderAliasAttribute déplacé vers l’assembly Microsoft.Extensions.Logging.Abstractions | Source non compatible |
| Suppression de l'annotation DynamicallyAccessedMembers du code Microsoft.Extensions.Configuration trim-unsafe | Incompatibilité binaire |
Globalization
| Titre | Type de changement |
|---|---|
| Variable d'environnement renommée DOTNET_ICU_VERSION_OVERRIDE | Changements de comportement |
Outil d’installation
| Titre | Type de changement |
|---|---|
| dotnet.acquire API pour VS Code ne télécharge plus toujours la dernière version | Changements de comportement |
Interop
| Titre | Type de changement |
|---|---|
| Échec du cast de l'objet COM IDispatchEx en IReflect | Changements de comportement |
| Les applications à fichier unique ne recherchent plus de bibliothèques natives dans le répertoire exécutable | Changements de comportement |
| La spécification de DllImportSearchPath.AssemblyDirectory recherche uniquement dans le répertoire d'assembly | Changements de comportement |
Networking
| Titre | Type de changement |
|---|---|
| La prise en charge de HTTP/3 est désactivée par défaut avec PublishTrimmed | Source non compatible |
| Diffusion en continu des réponses HTTP activées par défaut dans les clients HTTP du navigateur | Changements de comportement |
Uri limites de longueur supprimées |
Changements de comportement |
Reflection
| Titre | Type de changement | Version introduite |
|---|---|---|
| Annotations plus restreintes sur InvokeMember/FindMembers/DeclaredMembers | Incompatibilité comportementale/source |
SDK et MSBuild
Sérialisation
| Titre | Type de changement |
|---|---|
| System.Text.Json vérifie les conflits de noms de propriété | Changements de comportement |
| XmlSerializer n’ignore plus les propriétés marquées avec ObsoleteAttribute | Changements de comportement |
Windows Forms
| Titre | Type de changement |
|---|---|
| Éléments d’API obsolescents | Source non compatible |
| Les applications référençant WPF et WinForms doivent lever l’ambiguïté des types MenuItem et ContextMenu | Source non compatible |
| Paramètre renommé dans HtmlElement.InsertAdjacentElement | Source non compatible |
| Troncature de l'image de la case à cocher TreeView | Changements de comportement |
| StatusStrip utilise System RenderMode par défaut | Changements de comportement |
| System.Drawing OutOfMemoryException a changé en ExternalException | Changements de comportement |
Windows Presentation Foundation (WPF)
| Titre | Type de changement |
|---|---|
| Les columnDefinitions vides et RowDefinitions ne sont pas autorisées | Source non compatible |
| Une utilisation incorrecte de DynamicResource provoque un blocage de l’application | Source incompatible/changement de comportement |