Compartir a través de


Diagnósticos de SYSLIB para la generación de código fuente regex

En la tabla siguiente se muestran los identificadores de diagnóstico para los analizadores de generación de origen de regex en .NET 7 y versiones posteriores. Le avisa automáticamente sobre oportunidades donde puede utilizar la generación de código fuente para implementar el motor de expresiones regulares en tiempo de compilación. El resto de diagnósticos le avisa de errores relacionados con el uso del generador de origen.

Id. de diagnóstico Descripción
SYSLIB1040 Uso no válido.
SYSLIB1041 Varios atributos de se han aplicado al mismo método, pero solo se permite uno.
SYSLIB1042 La expresión regular especificada no es válida.
SYSLIB1043 Un método debe ser parcial, sin parámetros, no genérico y no abstracto, y devolver .
SYSLIB1044 El generador de regex no pudo generar una implementación de orígenes completa para la expresión regular especificada, debido a una limitación interna. Consulte la explicación en el origen generado para obtener más detalles.
SYSLIB1045 Use para generar la implementación de expresiones regulares en tiempo de compilación.

Para obtener más información sobre la generación de orígenes para expresiones regulares, vea generadores de origen de expresiones regulares .NET.

Suprimir advertencias

Se recomienda usar una de las soluciones alternativas siempre que sea posible. Sin embargo, si no puede cambiar el código, puede suprimir la advertencia a través de una directiva o una configuración de proyecto. Si el diagnóstico del generador de origen no aparece como un error, puede suprimir la advertencia en el código o en el archivo del proyecto.

Para suprimir las advertencias en el código (reemplace el identificador de diagnóstico según sea necesario):

// Disable the warning.
#pragma warning disable SYSLIB1006

// Code that generates compiler diagnostic.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB1006

Para suprimir las advertencias de un archivo de proyecto (reemplace los identificadores de diagnóstico según sea necesario):

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net10.0</TargetFramework>
   <!-- NoWarn below suppresses SYSLIB1002 project-wide -->
   <NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
   <!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
   <NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
   <NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
   <!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
   <NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
  </PropertyGroup>
</Project>

Consulte también