Changements cassants dans .NET 7
Si vous migrez une application vers .NET 7, les modifications cassants répertoriées ici peuvent vous affecter. Les modifications sont regroupées par domaine technologique, par exemple ASP.NET Core ou Windows Forms.
Cet article indique si chaque modification 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 modification lors du ciblage du nouveau runtime ou de l’utilisation du nouveau sdk ou du nouveau composant.
Remarque
Cet article est un travail en cours. Il ne s’agit pas d’une liste complète des changements cassants dans .NET 7. Pour interroger les modifications cassants qui sont toujours en attente de publication, consultez Problèmes de .NET.
ASP.NET Core
Bibliothèques .NET Core
Configuration
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
Entrée System.diagnostics dans app.config | ❌ | ✔️ | RC 1 |
Chiffrement
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
Le déchiffrement d’EnvelopedCms ne double pas unwrap | ❌ | ✔️ | Préversion 5 |
Heure de vérification dynamique X509ChainPolicy | ❌ | ✔️ | Préversion 7 |
Analyse X500DistinguishedName des noms conviviaux | ❌ | ✔️ | Préversion 5 |
Déploiement
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
Tous les assemblys découpés par défaut | ✔️ | ❌ | Préversion 7 |
La recherche à plusieurs niveaux est désactivée | ❌ | ✔️ | Preview 4 |
Chemin d’accès de l’hôte x86 sur Windows 64 bits | ✔️ | ✔️ | Préversion 6 |
TrimmerDefaultAction est déconseillé | ✔️ | ❌ | Préversion 7 |
Extensions
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
ContentRootPath pour les applications lancées par Windows Shell | ❌ | ✔️ | Préversion 6 |
Préfixes des variables d’environnement | ❌ | ✔️ | Preview 4 |
Globalisation
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
Les API de globalisation utilisent des bibliothèques ICU sur Windows Server | ❌ | ✔️ | RC 1 |
Interop
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
RuntimeInformation.OSArchitecture sous émulation | ❌ | ✔️ | RC 1 |
.NET MAUI
Titre | Compatible binaire | Compatible avec la source |
---|---|---|
Les constructeurs acceptent l’interface de base au lieu du type concret | ❌ | ✔️ |
Méthodes d’assistance de direction de flux supprimées | ❌ | ❌ |
Nouveau paramètre UpdateBackground | ❌ | ✔️ |
Propriété ScrollToRequest renommée | ❌ | ❌ |
Certaines API Windows sont supprimées | ❌ | ❌ |
Mise en réseau
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
La valeur par défaut d’AllowRenegotiation est false | ❌ | ❌ | Preview 3 |
Charges utiles ping personnalisées sur Linux | ❌ | ✔️ | Préversion 2 |
Les méthodes Socket.End ne lèvent pas d’exception ObjectDisposedException | ❌ | ✔️ | Préversion 7 |
SDK et MSBuild
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
RuntimeIdentifier automatique pour certains projets | ✔️ | ❌ | 7.0.100 |
RuntimeIdentifier automatique pour la publication uniquement | ❌ | ❌ | 7.0.200 |
Sérialisation MSBuild de types personnalisés dans .NET 7 | ❌ | ❌ | 7.0.100 |
Installations côte à côte du KIT DE développement logiciel (SDK) | ❌ | ❌ | 7.0.100 |
Configuration requise pour la version du Kit de développement logiciel (SDK) .NET 7 | ✔️ | ✔️ | 7.0.100 |
dotnet test : basculer vers -a alias --arch au lieu de --test-adapter-path |
❌ | ❌ | Preview 1 |
dotnet test : basculer vers -r alias --runtime au lieu de --results-dir |
❌ | ❌ | Preview 1 |
Sérialisation
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
DataContractSerializer conserve le signe lors de la désérialisation de -0 | ❌ | ✔️ | RC 1 |
Désérialiser le type version avec un espace blanc de début ou de fin | ❌ | ✔️ | Preview 1 |
Le constructeur de copie JsonSerializerOptions inclut JsonSerializerContext | ❌ | ✔️ | Préversion 7 |
Sérialisation polymorphe pour les types d’objets | ❌ | ✔️ | RC 1 |
Solution de repli du générateur de source System.Text.Json | ❌ | ✔️ | Préversion 7 |
Windows Forms
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
Obsoletions et avertissements | ✔️ | ❌ | Préversion 1 et RC 1 |
Certaines API lèvent ArgumentNullException | ❌ | ✔️ | Preview 1 |
XML et XSLT
Titre | Compatible binaire | Compatible avec la source | Introduit |
---|---|---|---|
XmlSecureResolver est obsolète | ❌ | ❌ | RC 1 |