Partilhar via


Aviso do compilador WFDEV006

Versão introduzida: .NET 10 Preview 1

ContextMenu, DataGrid, MainMenu, Menu, StatusBar, ToolBar estão obsoletas. 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 se destinam a ser usados diretamente do seu código. Eles não podem ser instanciados. A referência a um dos seguintes controles gera o aviso WFDEV006 durante a compilação.

Em versões anteriores do .NET, fazer referência a uma biblioteca do .NET Framework que usava esses tipos resultaria em uma exceção sendo lançada porque o .NET não fornecia 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

Substitua as referências a esses controles por suas contrapartes mais recentes:

Controlo original Novo controlo
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 a 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.

Suprima o aviso com um dos seguintes métodos:

  • Defina a severidade da regra no arquivo de .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 seu arquivo de projeto:

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

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