Partager via


Avertissement du compilateur WFDEV006

Version introduite : .NET 10 Preview 1

ContextMenu, DataGrid, MainMenu, Menu, StatusBar, ToolBar sont obsolètes. Ils sont fournis pour la compatibilité binaire avec .NET Framework.

À compter de .NET 10, certains contrôles sont fournis pour la compatibilité binaire avec .NET Framework, mais ils sont marqués comme obsolètes et ne sont pas destinés à être utilisés directement à partir de votre code. Ils ne peuvent pas être instanciés. Le référencement de l'un des contrôles suivants génère un avertissement WFDEV006 au moment de la compilation :

Dans les versions antérieures de .NET, le référencement d’une bibliothèque .NET Framework qui a utilisé ces types entraîne la levée d’une exception, car .NET n’a pas fourni ces types. À compter de .NET 10, ces types existent pour améliorer la compatibilité avec les anciennes bibliothèques .NET Framework qui ne peuvent pas être mises à niveau.

Contournement

Remplacez les références à ces contrôles par leurs équivalents plus récents :

Contrôle d’origine Nouveau contrôle
ContextMenu ContextMenuStrip
DataGrid DataGridView
MainMenu MenuStrip
Menu ToolStripDropDown ou ToolStripDropDownMenu
StatusBar StatusStrip
ToolBar ToolStrip

Supprimer un avertissement

Si vous devez référencer les API obsolètes, par exemple pour exécuter la réflexion sur celles-ci, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet. Toutefois, ces types ne peuvent pas être instanciés et ne sont fournis que pour la compatibilité.

Supprimez l’avertissement avec l’une des méthodes suivantes :

  • Définissez la gravité de la règle dans le fichier .editorConfig .

    [*.{cs,vb}]
    dotnet_diagnostic.WFDEV006.severity = none
    

    Pour plus d’informations sur les fichiers de configuration de l’éditeur, consultez Les fichiers de configuration pour les règles d’analyse du code.

  • Ajoutez les PropertyGroup suivantes à votre fichier projet :

    <PropertyGroup>
        <NoWarn>$(NoWarn);WFDEV006</NoWarn>
    </PropertyGroup>
    
  • Effectuez la suppression dans le code avec la directive #pragma warning disable WFDEV006.

Pour plus d’informations, consultez Comment supprimer les avertissements d’analyse du code.