Ошибка компилятора WFO5002
Введена версия : .NET 9
system.Windows.Forms.Form.ShowAsync предназначен только для оценки и подлежит изменению или удалению в будущих обновлениях. Отключайте эту диагностику, чтобы продолжить.
Эта ошибка компилятора возникает при использовании любого из следующих методов:
Form.ShowAsync
Form.ShowDialogAsync
TaskDialog.ShowDialogAsync
Асинхронный API Windows Forms в настоящее время экспериментальный и подлежит изменению. Эта ошибка создается, чтобы понять последствия написания кода, использующего эти API. Чтобы продолжить, необходимо подавить ошибку. Дополнительные сведения об этом API см. в разделе Async forms.
Пример
Данный пример генерирует WFO5002:
private async void button1_Click(object sender, EventArgs e)
{
Form1 newDialog = new();
await newDialog.ShowAsync();
}
Исправление ошибки
Отключите ошибку и включите доступ к API с помощью любого из следующих методов:
Задайте серьезность правила в файле .editorConfig .
[*.{cs,vb}] dotnet_diagnostic.WFO5002.severity = none
Дополнительные сведения о файлах конфигурации редактора см. в разделе "Файлы конфигурации" для правил анализа кода.
Добавьте следующий элемент
PropertyGroup
в файл проекта.<PropertyGroup> <NoWarn>$(NoWarn);WFO5002</NoWarn> </PropertyGroup>
Подавление в коде с помощью директивы
#pragma warning disable WFO5002
:private async void button1_Click(object sender, EventArgs e) { Form1 newDialog = new(); #pragma warning disable WFO5002 await newDialog.ShowAsync(); #pragma warning restore WFO5002 }
.NET Desktop feedback