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.
CA2255: Atribut
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | CA2255 |
| Název | Atribut ModuleInitializer by se neměl používat v knihovnách. |
| Kategorie | Využití |
| Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
| Povoleno ve výchozím nastavení v .NET 10 | Jako upozornění |
Příčina
ModuleInitializerAttribute Použití na metodu v knihovně tříd
Popis pravidla
Inicializátory modulů jsou určeny k použití kódu aplikace k zajištění inicializace komponent aplikace před zahájením provádění kódu aplikace. Pokud kód knihovny deklaruje metodu s metodou ModuleInitializerAttribute, může kolidovat s inicializací aplikace a také vést k omezením schopností ořezávání aplikace. Kód knihovny by proto neměl atribut využívat ModuleInitializerAttribute .
Jak opravit porušení
Místo použití metod označených ModuleInitializerAttributepomocí knihovny by knihovna měla vystavit metody, které lze použít k inicializaci všech komponent v knihovně a umožnit aplikaci vyvolat metodu během inicializace aplikace.
Kdy potlačit upozornění
Upozornění z tohoto pravidla je bezpečné potlačit, pokud řešení používá knihovnu tříd pro účely faktoringu kódu a ModuleInitializerAttribute metoda není součástí sdílené nebo distribuované knihovny nebo balíčku.
Potlačení upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable CA2255
// The code that's violating the rule is on this line.
#pragma warning restore CA2255
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.
[*.{cs,vb}]
dotnet_diagnostic.CA2255.severity = none
Chcete-li tuto celou kategorii pravidel zakázat, nastavte závažnost kategorie na none hodnotu v konfiguračním souboru.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Usage.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.