Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SYSLIB1011: i metodi di registrazione non possono usare il
Un metodo annotato con LoggerMessageAttribute usa l'anti-vincolo C# 13 allows ref struct su un parametro di tipo. Il generatore di origine di logging archivia i parametri nei campi struct, quindi non può contenere argomenti di tipo ref struct.
Soluzioni alternative
I metodi di registrazione supportano parametri di tipo generico e la maggior parte dei moduli di vincolo (class, struct, unmanaged, notnull, tipi di base, interfacce e new()). Rimuovere il allows ref struct vincolo contrario dal parametro di tipo per risolvere questo errore.
Sopprimere avvisi
È consigliabile usare una delle soluzioni alternative quando possibile. Tuttavia, se non è possibile modificare il codice, è possibile eliminare l'avviso tramite una #pragma direttiva o un'impostazione <NoWarn> di progetto. Se la diagnostica del SYSLIB1XXX generatore di origine non viene visualizzata come errore, è possibile eliminare l'avviso nel codice o nel file di progetto.
Per eliminare gli avvisi nel codice (sostituire l'ID di diagnostica in base alle esigenze):
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
Per eliminare gli avvisi in un file di progetto (sostituire gli ID di diagnostica in base alle esigenze):
<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>