Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om ditt .NET 6+-projekt refererar till ett paket som möjliggör källkodsgenerering av kod, till exempel en loggningslösning, körs analysverktygen som är specifika för källgenerering vid kompileringstillfället. I den här artikeln visas diagnostiken för kompilatorn som är relaterad till källgenererad kod.
Om du stöter på någon av dessa build-varningar eller -fel följer du den specifika vägledningen för diagnostik-ID:t som anges i avsnittet Referens . Du kan också ignorera varningar med det specifika SYSLIB1XXX diagnostik-ID-värdet. För mer information, se Undertrycka varningar.
Analyzer-varningar
Diagnostik-ID-värdena som är reserverade för källgenererade kodanalysvarningar är från SYSLIB1001 till SYSLIB1999.
Referens
Följande tabell innehåller ett index för diagnostiken SYSLIB1XXX i .NET 6 och senare versioner.
| Diagnostik-ID | beskrivning |
|---|---|
| SYSLIB1001 | Metodnamn för loggning kan inte börja med _ |
| SYSLIB1002 | Inkludera inte loggnivåparametrar som mallar i loggningsmeddelandet |
| SYSLIB1003 | InvalidLoggingMethodParameterNameTitle |
| SYSLIB1004 | Loggningsklassen får inte vara i kapslade datatyper. |
| SYSLIB1005 | Det gick inte att hitta en obligatorisk typdefinition |
| SYSLIB1006 | Flera loggningsmetoder kan inte använda samma händelse-ID i en klass |
| SYSLIB1007 | Loggningsmetoder måste returneras void |
| SYSLIB1008 | Ett av argumenten för en loggningsmetod måste implementera Microsoft.Extensions.Logging.ILogger gränssnittet |
| SYSLIB1009 | Loggningsmetoderna måste vara static |
| SYSLIB1010 | Loggningsmetoderna måste vara partial |
| SYSLIB1011 | Loggningsmetoder kan inte använda villkoret allows ref struct |
| SYSLIB1012 | Onödig kvalifikator i loggningsmeddelande |
| SYSLIB1013 | Inkludera inte undantagsparametrar som mallar i loggningsmeddelandet |
| SYSLIB1014 | Loggningsmallen har inget motsvarande metodargument |
| SYSLIB1015 | Argumentet refereras inte från loggningsmeddelandet |
| SYSLIB1016 | Loggningsmetoder kan inte ha en kropp |
| SYSLIB1017 | Ett LogLevel-värde måste anges i LoggerMessage attributet eller som en parameter till loggningsmetoden |
| SYSLIB1018 | Inkludera inte loggningsparametrar som mallar i loggningsmeddelandet |
| SYSLIB1019 | Det gick inte att hitta ett typfält Microsoft.Extensions.Logging.ILogger |
| SYSLIB1020 | Flera fält av typen Microsoft.Extensions.Logging.ILogger hittades |
| SYSLIB1021 | Flera objektnamn för meddelandemallar skiljer sig endast efter skiftläge |
| SYSLIB1022 | Det går inte att ha felaktiga formatsträngar (till exempel lösa klammerparenteser) |
| SYSLIB1023 | Det går inte att generera fler än sex argument |
| SYSLIB1024 | Argumentet Loggningsmetod använder parametermodifierare som inte stöds out |
| SYSLIB1025 | Flera loggningsmetoder kan inte använda samma händelsenamn i en klass |
| SYSLIB1026 | C#-språkversionen stöds inte av loggningskällans generator. |
| SYSLIB1027 | Den primära konstruktorparametern av typen Microsoft.Extensions.Logging.ILogger döljs av ett fält |
| SYSLIB1028 | Argumentet för loggningsmetod använder de osupporterade parametermodifierarna params eller scoped. |
| SYSLIB1029 | Loggningsmetodens parameter är en ref struct |
| SYSLIB1030 | Källgeneratorn System.Text.Json genererade inte serialiseringsmetadata för typ |
| SYSLIB1031 | Källgeneratorn System.Text.Json påträffade ett duplicerat JsonTypeInfo egenskapsnamn |
| SYSLIB1032 | Källgeneratorn System.Text.Json påträffade en kontextklass som inte är partiell |
| SYSLIB1033 | Källgeneratorn System.Text.Json påträffade en typ som har flera [JsonConstructor] anteckningar |
| SYSLIB1034 | JsonSourceGenerator påträffade en JsonStringEnumConverter anteckning |
| SYSLIB1035 | Källgeneratorn System.Text.Json påträffade en typ som har flera [JsonExtensionData] anteckningar |
| SYSLIB1036 | Källgeneratorn System.Text.Json påträffade en ogiltig [JsonExtensionData] anteckning |
| SYSLIB1037 | Källgeneratorn System.Text.Json påträffade en typ med init-only-egenskaper för vilka deserialisering inte stöds |
| SYSLIB1038 | Källgeneratorn System.Text.Json påträffade en egenskap som taggats med [JsonInclude] och som har otillgängliga accessorer |
| SYSLIB1039 | JsonSourceGenerator påträffade en JsonDerivedTypeAttribute anteckning med JsonSourceGenerationMode.Serialization aktiverad |
| SYSLIB1040 | Ogiltig GeneratedRegexAttribute användning. |
| SYSLIB1041 | Flera GeneratedRegexAttribute attribut tillämpades på samma metod, men endast en tillåts. |
| SYSLIB1042 | Det angivna reguljära uttrycket är ogiltigt. |
| SYSLIB1043 | En GeneratedRegexAttribute metod måste vara partiell, parameterlös, icke-generisk och icke-abstrakt och returnera Regex. |
| SYSLIB1044 | Regex-generatorn kunde inte generera en fullständig källimplementering för det angivna reguljära uttrycket på grund av en intern begränsning. Mer information finns i förklaringen i den genererade källan. |
| SYSLIB1045 | Använd GeneratedRegexAttribute för att generera implementeringen av reguljära uttryck vid kompileringstillfället. |
| SYSLIB1046 | (Reserverad för System.Text.RegularExpressions.Generator.) |
| SYSLIB1047 | (Reserverad för System.Text.RegularExpressions.Generator.) |
| SYSLIB1048 | (Reserverad för System.Text.RegularExpressions.Generator.) |
| SYSLIB1049 | (Reserverad för System.Text.RegularExpressions.Generator.) |
| SYSLIB1050 | Ogiltig LibraryImportAttribute användning. |
| SYSLIB1051 | Den angivna typen stöds inte av källgenererade p/invokes. |
| SYSLIB1052 | Den angivna konfigurationen stöds inte av källgenererade p/invokes. |
| SYSLIB1053 | De angivna LibraryImportAttribute argumenten kan inte vidarebefordras till DllImportAttribute. |
| SYSLIB1054 | Använd LibraryImportAttribute i stället för DllImportAttribute för att generera p/invoke marshalling-kod vid kompilering. |
| SYSLIB1055 | Ogiltig CustomMarshallerAttribute användning. |
| SYSLIB1056 | Den angivna inbyggda typen är ogiltig. |
| SYSLIB1057 | Marshallertypen har inte den form som krävs. |
| SYSLIB1058 | Ogiltig NativeMarshallingAttribute användning. |
| SYSLIB1059 | Marshaller-typen stöder inte en allokeringskonstruktor. |
| SYSLIB1060 | Den angivna marshallertypen är ogiltig. |
| SYSLIB1061 | Marshaller-typen har inkompatibla metodsignaturer. |
| SYSLIB1062 | Projektet måste uppdateras med <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. |
| SYSLIB1063 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1064 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1065 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1066 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1067 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1068 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1069 | (Reserverad för Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1070 | Ogiltig JSImportAttribute användning. |
| SYSLIB1071 | Ogiltig JSExportAttribute användning. |
| SYSLIB1072 | Den angivna typen stöds inte av källgenererade JavaScript-interop. |
| SYSLIB1073 | Den angivna konfigurationen stöds inte av källgenererade JavaScript-interop. |
| SYSLIB1074 | JSImportAttribute kräver osäker kod. |
| SYSLIB1075 | JSImportAttribute kräver osäker kod. |
| SYSLIB1076 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1077 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1078 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1079 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1080 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1081 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1082 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1083 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1084 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1085 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1086 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1087 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1088 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1089 | (Reserverad för System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1090 | Ogiltig GeneratedComInterfaceAttribute användning. |
| SYSLIB1091 | Metoden deklareras i en annan partiell deklaration än attributet GeneratedComInterface . |
| SYSLIB1092 | Användning av LibraryImport eller GeneratedComInterface attribut följer inte rekommendationen. |
| SYSLIB1093 | Analysen för COM-gränssnittsgenereringen misslyckades. |
| SYSLIB1094 | Det gick inte att generera källan i det grundläggande COM-gränssnittet. Koden genereras inte för det här gränssnittet. |
| SYSLIB1095 | Ogiltig GeneratedComClassAttribute användning. |
| SYSLIB1096 | Använd GeneratedComInterfaceAttribute i stället för ComImportAttribute för att generera COM-marshalkod vid kompileringstillfället. |
| SYSLIB1097 | Den här typen implementerar minst en typ med attributet GeneratedComInterfaceAttribute . Lägg till GeneratedComClassAttribute för att möjliggöra att denna typ skickas till COM och för att exponera COM-gränssnitten för typerna med GeneratedComInterfaceAttribute från objekt av denna typ. |
| SYSLIB1098 | .NET COM-värd med EnableComHosting stöder endast inbyggd COM-interoperabilitet. Det stöder inte källgenererad COM-interop med GeneratedComInterfaceAttribute. |
| SYSLIB1099 | COM Interop-API:er på System.Runtime.InteropServices.Marshal stöder inte källgenererad COM och misslyckas vid körning. |
| SYSLIB1100 | Konfigurationsbindningsgenerator: Typ stöds inte. |
| SYSLIB1101 | Konfigurationsbindningsgenerator: Egenskapen på typen stöds inte. |
| SYSLIB1102 | Konfigurationsbindningsgenerator: Projektets språkversion måste vara minst C# 12. |
| SYSLIB1103 | Generator för konfigurationsbindning: Värdetyper är ogiltiga indata för konfigurationen av bindningsmetoder. |
| SYSLIB1104 | Generator för konfigurationsbindning: Generatorn kan inte fastställa målkonfigurationstypen. |
| SYSLIB1105 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1106 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.)(Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1107 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1108 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1109 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1110 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1111 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1112 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1113 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1114 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1115 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1116 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1117 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1118 | (Reserverad för Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1201 | Det går inte att använda ValidateObjectMembersAttribute eller ValidateEnumeratedItemsAttribute på fält eller egenskaper med öppna generiska typer. |
| SYSLIB1202 | En medlemstyp har inga fält eller egenskaper att verifiera. |
| SYSLIB1203 | En typ har inga fält eller egenskaper att verifiera. |
| SYSLIB1204 | En typ som har kommenterats med OptionsValidatorAttribute implementerar inte det nödvändiga gränssnittet. |
| SYSLIB1205 | En typ innehåller redan en implementering av metoden "Validate". |
| SYSLIB1206 | Det går inte att verifiera privata fält eller egenskaper. |
| SYSLIB1207 | Medlemstypen kan inte räknas upp. |
| SYSLIB1208 | Validatorer som används för transitiv eller uppräkningsbar validering måste ha en konstruktor utan parametrar. |
| SYSLIB1209 |
OptionsValidatorAttribute kan inte tillämpas på en statisk klass. |
| SYSLIB1210 | Null-validatortyp som angetts för attributen ValidateObjectMembersAttribute eller ValidateEnumeratedItemsAttribute . |
| SYSLIB1211 | Cirkelreferenser som inte stöds i modelltyper. |
| SYSLIB1212 | Medlemmen saknar potentiellt transitiv validering. |
| SYSLIB1213 | Medlem som eventuellt saknar uppräkningsbar validering. |
| SYSLIB1214 | Det går inte att verifiera konstanter, statiska fält eller egenskaper. |
| SYSLIB1215 | Verifieringsattributet för medlemmen är inte tillgängligt från valideringstypen. |
| SYSLIB1216 | C#-språkversionen stöds inte av alternativverifieringskällans generator. |
| SYSLIB1217 | Valideringsattributet gäller endast för egenskaper av typen sträng, matris eller ICollection; det kan inte användas med andra typer. |
| SYSLIB1218 | (Reserverad för Microsoft.Extensions.Options.SourceGeneration.) |
| SYSLIB1219 | (Reserverad för Microsoft.Extensions.Options.SourceGeneration.) |
| SYSLIB1220 | JsonSourceGenerator påträffade en [JsonConverterAttribute] med ett ogiltigt typargument. |
| SYSLIB1221 | JsonSourceGenerator stöder inte den här C#-språkversionen. |
| SYSLIB1222 | Konstruktorn som har kommenterats med JsonConstructorAttribute är inte tillgänglig. |
| SYSLIB1223 | Konstruktorn som har kommenterats med JsonConstructorAttribute är inte tillgänglig. |
| SYSLIB1224 | Typer som kommenterats med JsonSerializableAttribute måste vara klasser som härleds från JsonSerializerContext. |
| SYSLIB1225 | (Reserverad för System.Text.Json.SourceGeneration.) |
| SYSLIB1226 | (Reserverad för System.Text.Json.SourceGeneration.) |
| SYSLIB1227 | (Reserverad för System.Text.Json.SourceGeneration.) |
| SYSLIB1228 | (Reserverad för System.Text.Json.SourceGeneration.) |
| SYSLIB1229 | (Reserverad för System.Text.Json.SourceGeneration.) |
| SYSLIB1230 | Det går inte att härleda från ett GeneratedComInterface-attributgränssnitt som definierats i en annan sammansättning. |
Ignorera varningar
Vi rekommenderar att du använder någon av lösningarna när det är möjligt. Men om du inte kan ändra koden kan du ignorera varningen via ett #pragma direktiv eller en <NoWarn> projektinställning. Om källgeneratordiagnostiken SYSLIB1XXX inte visas som ett fel kan du utelämna varningen i koden eller i projektfilen.
Så här utelämnar du varningarna i koden (ersätt diagnostik-ID:t efter behov):
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
Så här utelämnar du varningarna i en projektfil (ersätt diagnostik-ID:n efter behov):
<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>