Condividi tramite


Avviso del compilatore WFDEV006

Versione introdotta: Anteprima 1 di .NET 10

ContextMenu, DataGrid, MainMenu, Menu, StatusBar, ToolBar sono obsoleti. Vengono forniti per la compatibilità binaria con .NET Framework.

A partire da .NET 10, alcuni controlli vengono forniti per la compatibilità binaria con .NET Framework, ma sono contrassegnati come obsoleti e non devono essere usati direttamente dal codice. Non possono essere istanziati. Facendo riferimento a uno dei controlli seguenti viene generato un avviso WFDEV006 in fase di compilazione:

Nelle versioni precedenti di .NET, fare riferimento a una libreria .NET Framework che usa questi tipi genera un'eccezione perché .NET non ha fornito questi tipi. A partire da .NET 10, questi tipi esistono per migliorare la compatibilità con le librerie .NET Framework meno recenti che non possono essere aggiornate.

Soluzione

Sostituire i riferimenti a questi controlli con le controparti più recenti:

Controllo originale Nuovo controllo
ContextMenu ContextMenuStrip
DataGrid DataGridView
MainMenu MenuStrip
Menu ToolStripDropDown o ToolStripDropDownMenu
StatusBar StatusStrip
ToolBar ToolStrip

Eliminare un avviso

Se è necessario fare riferimento alle API obsolete, ad esempio per eseguire la reflection su di esse, è possibile eliminare l'avviso nel codice o nel file di progetto. Tuttavia, questi tipi non possono essere creati e vengono forniti solo per la compatibilità.

Eliminare l'avviso con uno dei metodi seguenti:

  • Imposta la gravità della regola nel file .editorConfig.

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

    Per altre informazioni sui file di configurazione dell'editor, vedere File di configurazione per le regole di analisi del codice.

  • Aggiungi il seguente PropertyGroup al file di progetto:

    <PropertyGroup>
        <NoWarn>$(NoWarn);WFDEV006</NoWarn>
    </PropertyGroup>
    
  • Sopprimere il codice con la direttiva #pragma warning disable WFDEV006.

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.