Fonctionnalités Windows Forms obsolètes dans .NET 7+
À compter de .NET 7, certaines API Windows Forms sont marquées comme obsolètes (ou produisent un avertissement) avec des ID de diagnostic personnalisés du format WFDEVXXX
.
Si vous recevez des avertissements ou rencontrez des erreurs de build en raison de l’utilisation d'une API obsolète, suivez les conseils spécifiques fournis pour l’ID de diagnostic répertorié dans la section Référence. Les avertissements ou les erreurs liés à ces obsolescences ne peuvent pas être supprimés à l’aide de l’ID (CS0618) de diagnostic standard pour les types ou membres obsolètes ; utilisez plutôt la valeur d’ID de diagnostic WFDEVXXX
personnalisé. Pour plus d’informations, consultez Supprimer des avertissements.
Référence
Le tableau suivant fournit un index pour les WFDEVXXX
obsoletions et les avertissements dans .NET 7+.
ID de diagnostic | Avertissement ou erreur | Description |
---|---|---|
WFDEV001 | Avertissement | Le cast vers/depuis IntPtr n’est pas sécurisé. Utilisez WParamInternal , LParamInternal ou ResultInternal à la place. |
WFDEV002 | Avertissement/erreur | System.Windows.Forms.DomainUpDown.DomainUpDownAccessibleObject n’est plus utilisé pour fournir une prise en charge accessible des contrôles DomainUpDown. Utilisez AccessibleObject à la place. |
WFDEV003 | Avertissement | System.Windows.Forms.DomainUpDown.DomainItemAccessibleObject n’est plus utilisé pour fournir une prise en charge accessible des éléments DomainUpDown. Utilisez AccessibleObject à la place. |
Supprimer les avertissements
Nous vous recommandons d’utiliser une solution de contournement disponible dans la mesure du possible. Toutefois, si vous ne pouvez pas modifier votre code, vous pouvez supprimer les avertissements via une directive #pragma
ou un paramètre de projet <NoWarn>
. Si vous devez utiliser les API obsolètes et que le diagnostic WFDEVXXX
ne s’affiche pas comme une erreur, vous pouvez supprimer l’avertissement dans le code ou dans votre Fichier projet.
Pour supprimer les avertissements dans le code :
// Disable the warning.
#pragma warning disable WFDEV001
// Code that uses obsolete API.
//...
// Re-enable the warning.
#pragma warning restore WFDEV001
Pour supprimer les avertissements dans un fichier projet :
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<!-- NoWarn below suppresses WFDEV001 project-wide -->
<NoWarn>$(NoWarn);WFDEV001</NoWarn>
<!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
<NoWarn>$(NoWarn);WFDEV001</NoWarn>
<NoWarn>$(NoWarn);WFDEV003</NoWarn>
<!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
<NoWarn>$(NoWarn);WFDEV001;WFDEV003</NoWarn>
</PropertyGroup>
</Project>
Notes
La suppression des avertissements de cette façon désactive uniquement les avertissements d’obsolescence que vous avez spécifiés. Cela ne désactive pas les autres avertissements, y compris les avertissements d’obsolescence avec des ID de diagnostic différents.
Voir aussi
.NET Desktop feedback
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour