Compartir a través de


Error del compilador WFO5002

Versión introducida: .NET 9

System.Windows.Forms.Form.ShowAsync solo tiene fines de evaluación y está sujeto a cambios o eliminación en futuras actualizaciones. Suprima este diagnóstico para continuar.

Este error del compilador se genera al usar cualquiera de los métodos siguientes:

  • Form.ShowAsync
  • Form.ShowDialogAsync
  • TaskDialog.ShowDialogAsync

La API asincrónica de Windows Forms es actualmente experimental y está sujeta a cambios. Este error se genera para que comprenda las implicaciones de escribir código que usa estas API. El error debe suprimirse para continuar. Para obtener más información sobre esta API, consulte Formularios asincrónicos.

Nota:

Este error del compilador ya no se aplica a partir de .NET 10.

Ejemplo

El ejemplo siguiente genera WFO5002:

private async void button1_Click(object sender, EventArgs e)
{
    Form1 newDialog = new();
    await newDialog.ShowAsync();
}

Para corregir este error

Actualice a .NET 10 o posterior, donde esta característica ya no se considera experimental.

-O bien-

Suprima el error y habilite el acceso a la API mediante cualquiera de los métodos siguientes:

  • Establezca la gravedad de la regla en el archivo .editorConfig .

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

    Para obtener más información sobre los archivos de configuración del editor, consulte Archivos de configuración para reglas de análisis de código.

  • Agregue el siguiente PropertyGroup al archivo del proyecto:

    <PropertyGroup>
        <NoWarn>$(NoWarn);WFO5002</NoWarn>
    </PropertyGroup>
    
  • Suprima en el código con la directiva #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
    }