Udostępnij przez


Ostrzeżenie kompilatora WFDEV006

Wersja wprowadzona: .NET 10 wersja 1 w wersji zapoznawczej

ContextMenu, DataGrid, MainMenu, Menu, StatusBar, ToolBar są przestarzałe. Są one udostępniane pod kątem zgodności binarnej z programem .NET Framework.

Począwszy od platformy .NET 10, niektóre kontrolki są udostępniane pod kątem zgodności binarnej z programem .NET Framework, ale są one oznaczone jako przestarzałe i nie mają być używane bezpośrednio z kodu. Nie można ich zainicjalizować. Odwołanie do jednej z następujących kontrolek generuje ostrzeżenie WFDEV006 w czasie kompilacji:

W poprzednich wersjach platformy .NET odwoływanie się do biblioteki .NET Framework, która korzystała z tych typów, spowodowałoby zgłoszenie wyjątku, ponieważ platforma .NET nie dostarczyła tych typów. Począwszy od platformy .NET 10, te typy istnieją, aby zwiększyć zgodność ze starszymi bibliotekami programu .NET Framework, których nie można uaktualnić.

Rozwiązanie

Zastąp odwołania do tych kontrolek nowszymi odpowiednikami:

Oryginalna kontrolka Nowa kontrolka
ContextMenu ContextMenuStrip
DataGrid DataGridView
MainMenu MenuStrip
Menu ToolStripDropDown lub ToolStripDropDownMenu
StatusBar StatusStrip
ToolBar ToolStrip

Pomijanie ostrzeżenia

Jeśli musisz odwołać się do przestarzałych interfejsów API, na przykład w celu uruchomienia odbicia na nich, możesz pominąć ostrzeżenie w kodzie lub w pliku projektu. Nie można jednak utworzyć wystąpienia tych typów i są one dostępne wyłącznie w celu zapewnienia zgodności.

Pomiń ostrzeżenie przy użyciu jednej z następujących metod:

  • Ustaw stopień ważności reguły w pliku .editorConfig.

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

    Aby uzyskać więcej informacji na temat plików konfiguracji edytora, zobacz Pliki konfiguracji dla reguł analizy kodu.

  • Dodaj kod PropertyGroup do pliku projektu.

    <PropertyGroup>
        <NoWarn>$(NoWarn);WFDEV006</NoWarn>
    </PropertyGroup>
    
  • Zastosuj pominięcie w kodzie za pomocą dyrektywy #pragma warning disable WFDEV006.

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.