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.
Se il progetto .NET 6+ fa riferimento a un pacchetto che abilita la generazione di codice sorgente, ad esempio una soluzione di registrazione, gli analizzatori specifici per la generazione di origine verranno eseguiti in fase di compilazione. Questo articolo elenca la diagnostica del compilatore correlata al codice generato dall'origine.
Se si riscontra uno di questi errori o avvisi di compilazione, seguire le indicazioni specifiche fornite per l'ID di diagnostica elencato nella sezione Riferimenti. È anche possibile non visualizzare gli avvisi usando il valore ID di diagnostica specifico SYSLIB1XXX. Per ulteriori informazioni, vedere Sopprimere gli avvisi.
Avvisi dell'analizzatore
I valori ID di diagnostica riservati per gli avvisi dell'analizzatore del codice generato dall'origine vanno da SYSLIB1001 a SYSLIB1999.
Riferimento
Nella tabella seguente viene fornito un indice per la diagnostica SYSLIB1XXX in .NET 6 e versioni successive.
| ID diagnostico | Descrizione |
|---|---|
| SYSLIB1001 | I nomi dei metodi di registrazione non possono iniziare con _ |
| SYSLIB1002 | Non includere i parametri di livello log come modelli nel messaggio di registrazione |
| SYSLIB1003 | InvalidLoggingMethodParameterNameTitle |
| SYSLIB1004 | La classe di registrazione non può essere in tipi annidati. |
| SYSLIB1005 | Non è stato possibile trovare una definizione del tipo richiesto |
| SYSLIB1006 | Più metodi di registrazione non possono usare lo stesso ID evento all'interno di una classe |
| SYSLIB1007 | I metodi di registrazione devono restituire void |
| SYSLIB1008 | Uno degli argomenti di un metodo di registrazione deve implementare l'interfaccia Microsoft.Extensions.Logging.ILogger |
| SYSLIB1009 | I metodi di registrazione devono essere static |
| SYSLIB1010 | I metodi di registrazione devono essere partial |
| SYSLIB1011 | I metodi di registrazione non possono usare il allows ref struct vincolo |
| SYSLIB1012 | Qualificatore ridondante nel messaggio di log |
| SYSLIB1013 | Non includere i parametri di eccezione come modelli nel messaggio di registrazione |
| SYSLIB1014 | Il modello di registrazione non ha alcun argomento del metodo corrispondente |
| SYSLIB1015 | Il messaggio di log non fa riferimento all'argomento |
| SYSLIB1016 | I metodi di registrazione non possono avere un corpo |
| SYSLIB1017 | È necessario specificare un valore LogLevel nell'attributo LoggerMessage o come parametro per il metodo di registrazione |
| SYSLIB1018 | Non includere i parametri del logger come modelli nel messaggio di registrazione |
| SYSLIB1019 | Impossibile trovare un campo di tipo Microsoft.Extensions.Logging.ILogger |
| SYSLIB1020 | Sono stati trovati più campi di tipo Microsoft.Extensions.Logging.ILogger |
| SYSLIB1021 | Molti nomi di elementi modello di messaggio differiscono solo per maiuscole/minuscole |
| SYSLIB1022 | Non è possibile avere stringhe in formato non valido (ad esempio, parentesi graffe non accoppiate) |
| SYSLIB1023 | La creazione di più di sei argomenti non è supportata |
| SYSLIB1024 | L'argomento del metodo di registrazione usa un modificatore di parametri out non supportato |
| SYSLIB1025 | Più metodi di registrazione non possono usare lo stesso nome evento all'interno di una classe |
| SYSLIB1026 | Versione del linguaggio C# non supportata dal generatore di origine di registrazione. |
| SYSLIB1027 | Il parametro del costruttore primario di tipo Microsoft.Extensions.Logging.ILogger è nascosto da un campo |
| SYSLIB1028 | L'argomento del metodo di registrazione usa un modificatore di parametro params o scoped non supportato. |
| SYSLIB1029 | Il parametro del metodo di registrazione è un ref struct |
| SYSLIB1030 | Il generatore di origine System.Text.Json non ha generato metadati di serializzazione per il tipo |
| SYSLIB1031 | Il generatore System.Text.Json di origine ha rilevato un nome di proprietà JsonTypeInfo duplicato |
| SYSLIB1032 | Il generatore di origine System.Text.Json ha rilevato una classe di contesto che non è parziale |
| SYSLIB1033 | Il generatore di origine System.Text.Json ha rilevato un tipo con più annotazioni [JsonConstructor] |
| SYSLIB1034 | JsonSourceGenerator ha rilevato un'annotazione JsonStringEnumConverter |
| SYSLIB1035 | Il generatore di origine System.Text.Json ha rilevato un tipo con più annotazioni [JsonExtensionData] |
| SYSLIB1036 | Il generatore di origine System.Text.Json ha rilevato un'annotazione [JsonExtensionData] non valida |
| SYSLIB1037 | Il generatore di codice sorgente System.Text.Json ha rilevato un tipo con proprietà con inizializzazione unica per cui non è supportata la deserializzazione |
| SYSLIB1038 | Il generatore di origine System.Text.Json ha rilevato una proprietà annotata con [JsonInclude] che dispone di funzioni di accesso inaccessibili |
| SYSLIB1039 | JsonSourceGenerator ha rilevato un'annotazione JsonDerivedTypeAttribute con JsonSourceGenerationMode.Serialization abilitato |
| SYSLIB1040 | Utilizzo di GeneratedRegexAttribute non valido. |
| SYSLIB1041 | Allo stesso metodo sono stati applicati più attributiGeneratedRegexAttribute, ma ne è consentito solo uno. |
| SYSLIB1042 | L'espressione regolare specificata non è valida. |
| SYSLIB1043 | Un metodo GeneratedRegexAttribute deve essere parziale, senza parametri, non generico e non astratto e deve restituire Regex. |
| SYSLIB1044 | Il generatore regex non è riuscito a generare un'implementazione di origine completa per l'espressione regolare specificata a causa di una limitazione interna. Per altri dettagli, vedere la spiegazione nell'origine generata. |
| SYSLIB1045 | Usare GeneratedRegexAttribute per generare l'implementazione dell'espressione regolare in fase di compilazione. |
| SYSLIB1046 | (Riservato a System.Text.RegularExpressions.Generator.) |
| SYSLIB1047 | (Riservato a System.Text.RegularExpressions.Generator.) |
| SYSLIB1048 | (Riservato a System.Text.RegularExpressions.Generator.) |
| SYSLIB1049 | (Riservato a System.Text.RegularExpressions.Generator.) |
| SYSLIB1050 | Utilizzo di LibraryImportAttribute non valido. |
| SYSLIB1051 | Il tipo specificato non è supportato dai p/invoke generati dall'origine. |
| SYSLIB1052 | La configurazione specificata non è supportata dai p/invoke generati dall'origine. |
| SYSLIB1053 | Gli argomenti LibraryImportAttribute specificati non possono essere inoltrati a DllImportAttribute. |
| SYSLIB1054 | Usare LibraryImportAttribute anziché DllImportAttribute per generare codice di marshalling p/invoke in fase di compilazione. |
| SYSLIB1055 | Utilizzo di CustomMarshallerAttribute non valido. |
| SYSLIB1056 | Il tipo nativo specificato non è valido. |
| SYSLIB1057 | Il tipo di marshaller non ha la forma richiesta. |
| SYSLIB1058 | Utilizzo di NativeMarshallingAttribute non valido. |
| SYSLIB1059 | Il tipo marshaller non supporta un costruttore che alloca. |
| SYSLIB1060 | Il tipo di marshaller specificato non è valido. |
| SYSLIB1061 | Il tipo marshaller ha firme di metodo incompatibili. |
| SYSLIB1062 | Il progetto deve essere aggiornato con <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. |
| SYSLIB1063 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1064 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1065 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1066 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1067 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1068 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1069 | (Riservato a Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1070 | Utilizzo di JSImportAttribute non valido. |
| SYSLIB1071 | Utilizzo di JSExportAttribute non valido. |
| SYSLIB1072 | Il tipo specificato non è supportato dall'interoperabilità JavaScript generata automaticamente. |
| SYSLIB1073 | La configurazione specificata non è supportata dall'interoperabilità JavaScript generata automaticamente. |
| SYSLIB1074 | JSImportAttribute richiede codice non sicuro. |
| SYSLIB1075 | JSImportAttribute richiede codice non sicuro. |
| SYSLIB1076 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1077 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1078 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1079 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1080 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1081 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1082 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1083 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1084 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1085 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1086 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1087 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1088 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1089 | (Riservato a System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1090 | Utilizzo di GeneratedComInterfaceAttribute non valido. |
| SYSLIB1091 | Il metodo viene dichiarato in una dichiarazione parziale diversa rispetto all'attributo GeneratedComInterface. |
| SYSLIB1092 | L'utilizzo dell'attributo LibraryImport o GeneratedComInterface non segue la raccomandazione. |
| SYSLIB1093 | L'analisi della generazione dell'interfaccia COM non è riuscita. |
| SYSLIB1094 | L'interfaccia COM di base non è riuscita a generare l'origine. Il codice non verrà generato per questa interfaccia. |
| SYSLIB1095 | Utilizzo di GeneratedComClassAttribute non valido. |
| SYSLIB1096 | Usare GeneratedComInterfaceAttribute anziché ComImportAttribute per generare codice di marshalling COM in fase di compilazione. |
| SYSLIB1097 | Questo tipo implementa almeno un tipo con l'attributo GeneratedComInterfaceAttribute. Aggiungere GeneratedComClassAttribute per abilitare il passaggio di questo tipo a COM ed esporre le interfacce COM per i tipi con GeneratedComInterfaceAttribute da oggetti di questo tipo. |
| SYSLIB1098 | .NET hosting COM con EnableComHosting supporta solo l'interoperabilità COM predefinita. Non supporta l'interoperabilità COM generata automaticamente con GeneratedComInterfaceAttribute. |
| SYSLIB1099 | Le API di interoperabilità COM in System.Runtime.InteropServices.Marshal non supportano COM generato dall'origine e avranno esito negativo in fase di esecuzione. |
| SYSLIB1100 | Generatore di associazioni di configurazione: il tipo non è supportato. |
| SYSLIB1101 | Generatore di associazioni di configurazione: la proprietà sul tipo non è supportata. |
| SYSLIB1102 | Generatore di associazioni di configurazione: la versione del linguaggio del progetto deve essere almeno C# 12. |
| SYSLIB1103 | Generatore di associazioni di configurazione: i tipi valore non sono input validi per i metodi 'Bind' di configurazione. |
| SYSLIB1104 | Generatore di associazioni di configurazione: il generatore non può determinare il tipo di configurazione finale. |
| SYSLIB1105 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1106 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.)(Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1107 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1108 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1109 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1110 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1111 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1112 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1113 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1114 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1115 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1116 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1117 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1118 | (Riservato a Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1201 | Non è possibile usare ValidateObjectMembersAttribute o ValidateEnumeratedItemsAttribute in campi o proprietà con tipi generici aperti. |
| SYSLIB1202 | Un tipo membro non dispone di campi o proprietà da convalidare. |
| SYSLIB1203 | Un tipo non dispone di campi o proprietà da convalidare. |
| SYSLIB1204 | Un tipo annotato con OptionsValidatorAttribute non implementa l'interfaccia necessaria. |
| SYSLIB1205 | Un tipo include già un'implementazione del metodo 'Validare'. |
| SYSLIB1206 | Non è possibile convalidare campi o proprietà privati. |
| SYSLIB1207 | Il tipo membro non è enumerabile. |
| SYSLIB1208 | I validator usati per la convalida transitiva o enumerabile devono avere un costruttore senza parametri. |
| SYSLIB1209 |
OptionsValidatorAttribute non può essere applicato a una classe statica. |
| SYSLIB1210 | Tipo di validator Null specificato per gli attributi ValidateObjectMembersAttribute o ValidateEnumeratedItemsAttribute. |
| SYSLIB1211 | Riferimenti circolari non supportati nei tipi di modello. |
| SYSLIB1212 | Convalida transitiva potenzialmente mancante nel membro. |
| SYSLIB1213 | Validazione enumerabile potenzialmente mancante per il membro. |
| SYSLIB1214 | Non è possibile convalidare costanti, campi statici o proprietà. |
| SYSLIB1215 | L'attributo di convalida nel membro non è accessibile dal tipo di validatore. |
| SYSLIB1216 | Versione del linguaggio C# non supportata dal generatore di origine di convalida delle opzioni. |
| SYSLIB1217 | L'attributo di convalida è applicabile solo alle proprietà di tipo stringa, matrice o ICollection. Non può essere usato con altri tipi. |
| SYSLIB1218 | (Riservato a Microsoft.Extensions.Options.SourceGeneration.) |
| SYSLIB1219 | (Riservato a Microsoft.Extensions.Options.SourceGeneration.) |
| SYSLIB1220 | JsonSourceGenerator ha rilevato un [JsonConverterAttribute] con un argomento di tipo non valido. |
| SYSLIB1221 | JsonSourceGenerator non supporta questa versione del linguaggio C#. |
| SYSLIB1222 | Il costruttore annotato con JsonConstructorAttribute non è accessibile. |
| SYSLIB1223 | Il costruttore annotato con JsonConstructorAttribute non è accessibile. |
| SYSLIB1224 | I tipi annotati con JsonSerializableAttribute devono essere classi che derivano da JsonSerializerContext. |
| SYSLIB1225 | (Riservato a System.Text.Json.SourceGeneration.) |
| SYSLIB1226 | (Riservato a System.Text.Json.SourceGeneration.) |
| SYSLIB1227 | (Riservato a System.Text.Json.SourceGeneration.) |
| SYSLIB1228 | (Riservato a System.Text.Json.SourceGeneration.) |
| SYSLIB1229 | (Riservato a System.Text.Json.SourceGeneration.) |
| SYSLIB1230 | Derivare da un'interfaccia dotata di attributi GeneratedComInterface definita in un altro assembly non è supportato. |
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>