Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud váš projekt .NET 6+ odkazuje na balíček, který umožňuje generování zdrojového kódu, například řešení protokolování, pak se analyzátory specifické pro generování zdroje spustí v době kompilace. Tento článek uvádí diagnostiku kompilátoru související se zdrojovým kódem.
Pokud narazíte na některá z těchto upozornění nebo chyb sestavení, postupujte podle konkrétních pokynů uvedených pro ID diagnostiky uvedené v části Reference . Upozornění můžete také potlačit pomocí konkrétní SYSLIB1XXX hodnoty ID diagnostiky. Další informace naleznete v tématu Potlačení upozornění.
Upozornění analyzátoru
Hodnoty ID diagnostiky vyhrazené pro upozornění analyzátoru kódu generovaného zdrojem jsou SYSLIB1001 prostřednictvím SYSLIB1999.
Reference
Následující tabulka obsahuje index SYSLIB1XXX diagnostiky v .NET 6 a novějších verzích.
| ID diagnostiky | Popis |
|---|---|
| SYSLIB1001 | Názvy metod protokolování nemůžou začínat na _ |
| SYSLIB1002 | Nezahrnujte do zprávy protokolování parametry na úrovni protokolu jako šablony. |
| SYSLIB1003 | InvalidLoggingMethodParameterNameTitle |
| SYSLIB1004 | Třída protokolování nemůže být vnořených typech. |
| SYSLIB1005 | Nelze najít definici požadovaného typu. |
| SYSLIB1006 | Více metod protokolování nemůže použít stejné ID události v rámci třídy. |
| SYSLIB1007 | Metody protokolování musí vracet void |
| SYSLIB1008 | Jeden z argumentů metody protokolování musí implementovat Microsoft.Extensions.Logging.ILogger rozhraní |
| SYSLIB1009 | Metody protokolování musí být static |
| SYSLIB1010 | Metody protokolování musí být partial |
| SYSLIB1011 | Metody protokolování nemohou být obecné. |
| SYSLIB1012 | Redundantní kvalifikátor ve zprávě protokolování |
| SYSLIB1013 | Nezahrnujte do zprávy protokolování parametry výjimky jako šablony. |
| SYSLIB1014 | Šablona protokolování nemá žádný odpovídající argument metody. |
| SYSLIB1015 | Argument se neodkazuje ze zprávy protokolování. |
| SYSLIB1016 | Metody protokolování nemohou mít tělo. |
| SYSLIB1017 | Hodnota LogLevel musí být zadána v atributu LoggerMessage nebo jako parametr metody protokolování. |
| SYSLIB1018 | Nezahrnujte do zprávy protokolování parametry protokolovacího nástroje jako šablony. |
| SYSLIB1019 | Nepovedlo se najít pole typu Microsoft.Extensions.Logging.ILogger |
| SYSLIB1020 | Bylo nalezeno více polí typu. Microsoft.Extensions.Logging.ILogger |
| SYSLIB1021 | Více názvů položek šablony zpráv se liší pouze podle velikosti písmen. |
| SYSLIB1022 | Nelze mít chybně formátované řetězce formátu (například složených složených závorek). |
| SYSLIB1023 | Generování více než šesti argumentů se nepodporuje. |
| SYSLIB1024 | Argument metody protokolování používá nepodporovaný out modifikátor parametrů. |
| SYSLIB1025 | Více metod protokolování nemůže použít stejný název události v rámci třídy. |
| SYSLIB1026 | Jazyková verze jazyka C# není podporována generátorem zdrojů protokolování. |
| SYSLIB1027 | Parametr primárního konstruktoru typu Microsoft.Extensions.Logging.ILogger je skrytý polem. |
| SYSLIB1028 | (Vyhrazeno pro protokolování.) |
| SYSLIB1029 | (Vyhrazeno pro protokolování.) |
| SYSLIB1030 | Generátor System.Text.Json zdrojů negeneroval metadata serializace pro typ. |
| SYSLIB1031 | Ve zdrojovém generátoru System.Text.Json došlo k duplicitnímu JsonTypeInfo názvu vlastnosti. |
| SYSLIB1032 | Zdrojový System.Text.Json generátor zjistil třídu kontextu, která není částečná. |
| SYSLIB1033 | Zdrojový System.Text.Json generátor zjistil typ, který má více [JsonConstructor] poznámek. |
| SYSLIB1034 | JsonSourceGenerator zjistil poznámku JsonStringEnumConverter |
| SYSLIB1035 | Zdrojový System.Text.Json generátor zjistil typ, který má více [JsonExtensionData] poznámek. |
| SYSLIB1036 | Ve zdrojovém generátoru System.Text.Json byla zjištěna neplatná [JsonExtensionData] poznámka. |
| SYSLIB1037 | Zdrojový System.Text.Json generátor zjistil typ s inicializačními vlastnostmi, pro které se deserializace nepodporuje. |
| SYSLIB1038 | Zdrojový System.Text.Json generátor zjistil vlastnost anotovanou s [JsonInclude] nepřístupnými přístupovými objekty. |
| SYSLIB1039 | JsonSourceGenerator zjistil poznámku s JsonDerivedTypeAttribute povolenou JsonSourceGenerationMode.Serialization |
| SYSLIB1040 | Neplatné GeneratedRegexAttribute použití |
| SYSLIB1041 | Na stejnou metodu se použilo více GeneratedRegexAttribute atributů, ale je povoleno pouze jedno. |
| SYSLIB1042 | Zadaný regulární výraz je neplatný. |
| SYSLIB1043 | Metoda GeneratedRegexAttribute musí být částečná, bez parametrů, ne generická a ne abstraktní a návratová Regex. |
| SYSLIB1044 | Generátor regulárních výrazů nemohl vygenerovat úplnou zdrojovou implementaci pro zadaný regulární výraz kvůli internímu omezení. Další podrobnosti najdete v vysvětlení ve vygenerovaném zdroji. |
| SYSLIB1045 | Slouží GeneratedRegexAttribute k vygenerování implementace regulárního výrazu v době kompilace. |
| SYSLIB1046 | (Vyhrazeno pro System.Text.RegularExpressions.Generator.) |
| SYSLIB1047 | (Vyhrazeno pro System.Text.RegularExpressions.Generator.) |
| SYSLIB1048 | (Vyhrazeno pro System.Text.RegularExpressions.Generator.) |
| SYSLIB1049 | (Vyhrazeno pro System.Text.RegularExpressions.Generator.) |
| SYSLIB1050 | Neplatné LibraryImportAttribute použití |
| SYSLIB1051 | Zadaný typ není podporován zdrojovým vygenerovanými voláními p/. |
| SYSLIB1052 | Zadaná konfigurace není podporována zdrojovými voláními p/invoke. |
| SYSLIB1053 | Zadané LibraryImportAttribute argumenty nelze předat do DllImportAttribute. |
| SYSLIB1054 | LibraryImportAttribute Místo vygenerování kódu při kompilaci je možné DllImportAttribute vygenerovat zařazování kódu p/invoke. |
| SYSLIB1055 | Neplatné CustomMarshallerAttribute použití |
| SYSLIB1056 | Zadaný nativní typ je neplatný. |
| SYSLIB1057 | Typ marshalleru nemá požadovaný tvar. |
| SYSLIB1058 | Neplatné NativeMarshallingAttribute použití |
| SYSLIB1059 | Typ marshalleru nepodporuje alokační konstruktor. |
| SYSLIB1060 | Zadaný typ marshalleru je neplatný. |
| SYSLIB1061 | Typ marshalleru má nekompatibilní podpisy metody. |
| SYSLIB1062 | Projekt musí být aktualizován pomocí <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. |
| SYSLIB1063 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1064 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1065 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1066 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1067 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1068 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1069 | (Vyhrazeno pro Microsoft.Interop.LibraryImportGenerator.) |
| SYSLIB1070 | Neplatné JSImportAttribute použití |
| SYSLIB1071 | Neplatné JSExportAttribute použití |
| SYSLIB1072 | Zadaný typ není podporován zdrojovým generovaným javascriptovým interoperabilitou. |
| SYSLIB1073 | Zadaná konfigurace není podporována zdrojovým generovaným javascriptovým zprostředkovatele. |
| SYSLIB1074 | JSImportAttribute vyžaduje nebezpečný kód. |
| SYSLIB1075 | JSImportAttribute vyžaduje nebezpečný kód. |
| SYSLIB1076 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1077 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1078 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1079 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1080 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1081 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1082 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1083 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1084 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1085 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1086 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1087 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1088 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1089 | (Vyhrazeno pro System.Runtime.InteropServices.JavaScript.JSImportGenerator.) |
| SYSLIB1090 | Neplatné GeneratedComInterfaceAttribute použití |
| SYSLIB1091 | Metoda je deklarována v jiné částečné deklaraci než GeneratedComInterface atribut. |
| SYSLIB1092 | Použití atributu LibraryImportGeneratedComInterface neodpovídá doporučením. |
| SYSLIB1093 | Analýza generování rozhraní MODELU COM se nezdařila. |
| SYSLIB1094 | Základní rozhraní MODELU COM se nepodařilo vygenerovat zdroj. Kód se pro toto rozhraní negeneruje. |
| SYSLIB1095 | Neplatné GeneratedComClassAttribute použití |
| SYSLIB1096 |
GeneratedComInterfaceAttribute Místo generování kódu com při kompilaci.ComImportAttribute |
| SYSLIB1097 | Tento typ implementuje alespoň jeden typ s atributem GeneratedComInterfaceAttribute .
GeneratedComClassAttribute Přidejte pro povolení předávání tohoto typu modelu COM a zveřejnění rozhraní COM pro typy s GeneratedComInterfaceAttribute objekty tohoto typu. |
| SYSLIB1098 | Hostování .NET COM s EnableComHosting podporou pouze integrované spolupráce modelu COM. Nepodporuje zdrojově vygenerovanou interoperabilitu modelu COM s GeneratedComInterfaceAttribute. |
| SYSLIB1099 | Rozhraní COM Interop API na System.Runtime.InteropServices.Marshal nepodporují objekty COM generované zdrojem a za běhu selžou. |
| SYSLIB1100 | Generátor vazeb konfigurace: Typ není podporován. |
| SYSLIB1101 | Generátor vazeb konfigurace: Vlastnost typu není podporována. |
| SYSLIB1102 | Generátor vazeb konfigurace: Jazyková verze projectu musí být minimálně C# 12. |
| SYSLIB1103 | Generátor vazeb konfigurace: Typy hodnot jsou neplatné vstupy pro konfiguraci metod Bind. |
| SYSLIB1104 | Generátor vazeb konfigurace: Generátor nemůže určit cílový typ konfigurace. |
| SYSLIB1105 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1106 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.)(Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1107 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1108 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1109 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1110 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1111 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1112 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1113 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1114 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1115 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1116 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1117 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1118 | (Vyhrazeno pro Microsoft.Extensions.Configuration.Binder.SourceGeneration.) |
| SYSLIB1201 | Nelze použít ValidateObjectMembersAttribute pole nebo ValidateEnumeratedItemsAttribute vlastnosti s otevřenými obecnými typy. |
| SYSLIB1202 | Typ člena nemá žádná pole ani vlastnosti k ověření. |
| SYSLIB1203 | Typ nemá žádná pole ani vlastnosti k ověření. |
| SYSLIB1204 | Typ opatřený poznámkami OptionsValidatorAttribute neimplementuje potřebné rozhraní. |
| SYSLIB1205 | Typ již obsahuje implementaci metody Validate. |
| SYSLIB1206 | Nelze ověřit soukromá pole nebo vlastnosti. |
| SYSLIB1207 | Typ členu není výčtový. |
| SYSLIB1208 | Validátory používané pro tranzitivní nebo výčtové ověřování musí mít konstruktor bez parametrů. |
| SYSLIB1209 |
OptionsValidatorAttribute nelze použít na statickou třídu. |
| SYSLIB1210 | Typ validátoru ValidateObjectMembersAttribute null zadaný pro atributy.ValidateEnumeratedItemsAttribute |
| SYSLIB1211 | Nepodporované cyklický odkazy v typech modelů |
| SYSLIB1212 | Člen potenciálně chybí tranzitivní ověření. |
| SYSLIB1213 | Člen potenciálně chybí výčtové ověření. |
| SYSLIB1214 | Nelze ověřit konstanty, statická pole ani vlastnosti. |
| SYSLIB1215 | Ověřovací atribut člena je nepřístupný z typu validátoru. |
| SYSLIB1216 | Jazyková verze jazyka C# není podporována generátorem zdrojů ověřování možností. |
| SYSLIB1217 | Ověřovací atribut se vztahuje pouze na vlastnosti typu řetězec, pole nebo ICollection; nelze jej použít s jinými typy. |
| SYSLIB1218 | (Vyhrazeno pro Microsoft.Extensions.Options.SourceGeneration.) |
| SYSLIB1219 | (Vyhrazeno pro Microsoft.Extensions.Options.SourceGeneration.) |
| SYSLIB1220 | JsonSourceGenerator zjistil [JsonConverterAttribute] s neplatným argumentem typu. |
| SYSLIB1221 | JsonSourceGenerator nepodporuje tuto jazykovou verzi jazyka C#. |
| SYSLIB1222 | Konstruktor s poznámkami jsonConstructorAttribute je nepřístupný. |
| SYSLIB1223 | Konstruktor s poznámkami jsonConstructorAttribute je nepřístupný. |
| SYSLIB1224 | Typy anotované jsonSerializableAttribute musí být třídy odvozené z JsonSerializerContext. |
| SYSLIB1225 | (Vyhrazeno pro System.Text.Json.SourceGeneration.) |
| SYSLIB1226 | (Vyhrazeno pro System.Text.Json.SourceGeneration.) |
| SYSLIB1227 | (Vyhrazeno pro System.Text.Json.SourceGeneration.) |
| SYSLIB1228 | (Vyhrazeno pro System.Text.Json.SourceGeneration.) |
| SYSLIB1229 | (Vyhrazeno pro System.Text.Json.SourceGeneration.) |
| SYSLIB1230 | Odvození z GeneratedComInterface-atributovaného rozhraní definovaného v jiném sestavení není podporováno. |
Potlačení upozornění
Pokud je to možné, doporučujeme použít jedno z alternativních řešení. Pokud ale kód nemůžete změnit, můžete upozornění potlačit direktivou #pragma<NoWarn> nebo nastavením projektu. Pokud se diagnostika generátoru SYSLIB1XXX zdroje nezobrazuje jako chyba, můžete potlačit upozornění v kódu nebo v souboru projektu.
Potlačení upozornění v kódu:
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
Potlačení upozornění v souboru projektu:
<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>