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.
SYSLIB1019: No se ha encontrado un campo de tipo
Cuando una definición de método de registro no incluye explícitamente un parámetro de tipo ILogger
, el tipo que contiene el método de registro debe tener únicamente un campo de tipo ILogger
. ILogger
se usará como destino para los mensajes de registro.
Soluciones alternativas
Asegúrese de que el tipo que contiene el método de registro incluye un campo de tipo ILogger
o incluya un parámetro de tipo ILogger
en la firma del método de registro.
Nota:
Si recibe este error, pero la clase usa un constructor principal que toma un ILogger
, puede resolver el error agregando un campo ILogger
de la siguiente manera:
public partial class Foo(ILogger<Foo> logger) {
// Workaround for https://github.com/dotnet/runtime/issues/91121.
private readonly ILogger _logger = logger;
}
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>