Compartilhar via


Aviso do compilador WFDEV006

Versão introduzida: .NET 10 Versão prévia 1

ContextMenu, DataGrid, MainMenu, Menu, , StatusBarToolBarsão obsoletos. Eles são fornecidos para compatibilidade binária com o .NET Framework.

A partir do .NET 10, alguns controles são fornecidos para compatibilidade binária com o .NET Framework, mas são marcados como obsoletos e não devem ser usados diretamente do seu código. Eles não podem ser instanciados. Fazer referência a um dos seguintes controles gera aviso WFDEV006 em tempo de compilação:

Em versões anteriores do .NET, fazer referência a uma biblioteca do .NET Framework que usou esses tipos resultaria em uma exceção gerada porque o .NET não forneceu esses tipos. A partir do .NET 10, esses tipos existem para melhorar a compatibilidade com bibliotecas mais antigas do .NET Framework que não podem ser atualizadas.

Solução Alternativa

Substitua as referências a esses controles por seus equivalentes mais recentes:

Controle original Novo controle
ContextMenu ContextMenuStrip
DataGrid DataGridView
MainMenu MenuStrip
Menu ToolStripDropDown ou ToolStripDropDownMenu
StatusBar StatusStrip
ToolBar ToolStrip

Suprimir um aviso

Se você precisar fazer referência às APIs obsoletas, por exemplo, para executar reflexão sobre elas, poderá suprimir o aviso no código ou no arquivo de projeto. No entanto, esses tipos não podem ser instanciados e são fornecidos apenas para compatibilidade.

Suprime o aviso com qualquer um dos seguintes métodos:

  • Defina a gravidade da regra no arquivo .editorConfig .

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

    Para obter mais informações sobre arquivos de configuração do editor, consulte Arquivos de configuração para regras de análise de código.

  • Adicione o seguinte PropertyGroup ao arquivo de projeto:

    <PropertyGroup>
        <NoWarn>$(NoWarn);WFDEV006</NoWarn>
    </PropertyGroup>
    
  • Suprimir no código com a diretiva #pragma warning disable WFDEV006.

Para obter mais informações, confira Como suprimir avisos de análise de código.