Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La regla de analizador de código de .NET CA2247 está habilitada, de forma predeterminada, a partir de .NET 5. Genera una advertencia de compilación para las llamadas al constructor TaskCompletionSource<TResult> que pasan un argumento de tipo TaskContinuationOptions.
Descripción del cambio
A partir de .NET 5, el SDK de .NET incluye analizadores de código fuente de .NET. Varias de estas reglas están habilitadas de forma predeterminada, incluido CA2247. Si el proyecto contiene código que infringe esta regla y está configurado para tratar las advertencias como errores, este cambio podría interrumpir la compilación.
La regla CA2247 busca llamadas al TaskCompletionSource<TResult> constructor que pasan un argumento de tipo TaskContinuationOptions. El TaskCompletionSource<TResult> tipo tiene un constructor que acepta un TaskCreationOptions valor y otro constructor que acepta un Object. Si accidentalmente pasa un valor de TaskContinuationOptions en lugar de un valor de TaskCreationOptions, el constructor con el parámetro Object se llama en tiempo de ejecución. El código se compilará y ejecutará, pero no tendrá el comportamiento previsto.
Versión introducida
5.0
Acción recomendada
Reemplace el TaskContinuationOptions argumento por el valor correspondiente TaskCreationOptions . No suprima esta advertencia, ya que casi siempre resalta un error en el código. Para obtener más información, consulte CA2247.
Para deshabilitar completamente el análisis de código, establezca
EnableNETAnalyzersfalseen el archivo del proyecto. Para obtener más información, consulte EnableNETAnalyzers.