Compartir a través de


SYSLIB1017: Se debe proporcionar un valor LogLevel en el atributo LoggerMessage o como parámetro para el método de registro.

El atributo LoggerMessageAttribute se ha aplicado a un método sin un valor LogLevel especificado. Al hacerlo, un argumento para el método de registro debe ser de ese tipo para que el valor LogLevel termine especificándose explícitamente al llamar al método de registro.

Soluciones alternativas

Especifique un valor LogLevel en el atributo LoggerMessage o haga que uno de los argumentos del método de registro sea un valor LogLevel.

Suprimir advertencias

Se recomienda usar una de las soluciones alternativas cuando sea posible. Pero, si no puede cambiar el código, puede suprimir la advertencia por medio de una directiva #pragma o la opción de configuración del proyecto <NoWarn>. Si el diagnóstico del generador de origen SYSLIB1XXX no se ve 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:

// Disable the warning.
#pragma warning disable SYSLIB1006

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

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

Para suprimir las advertencias en un archivo de proyecto:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net6.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>