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.
CA2266: Vstupní bod programu založený na souborech by měl začínat na
| Property | Value |
|---|---|
| Identifikátor pravidla | CA2266 |
| Titul | Vstupní bod programu založený na souborech by měl začínat na #! |
| Kategorie | Využití |
| Oprava je destruktivní nebo nedestruktivní | Non-breaking |
| Povoleno ve výchozím nastavení v .NET 10 | Jako upozornění |
| Příslušné jazyky | jazyk C# |
Příčina
Soubor vstupního bodu v programu tvořeném více soubory nezačíná řádkem shebang (#!).
Popis pravidla
Pro správnou identifikaci nástroje a podporu přímého spuštění v shellu začněte soubor vstupního bodu řádkem shebang (#!), aby se dal jasně odlišit od souborů zahrnutých pomocí #:include nebo #:ref.
Jak opravit porušení
Přidejte čáru shebangu na začátek souboru vstupního bodu, #!/usr/bin/env dotnetnapříklad .
Příklad
Následující fragment kódu ukazuje porušení ca2266.
V app.cs:
#:include "helpers.cs"
Console.WriteLine(GetMessage());
V helpers.cs:
string GetMessage() => "Hello";
Následující fragment kódu opraví porušení předpisů.
V app.cs:
#!/usr/bin/env dotnet
#:include "helpers.cs"
Console.WriteLine(GetMessage());
V helpers.cs:
string GetMessage() => "Hello";
Kdy potlačit upozornění
Pokud záměrně vynecháte čáru shebangu a ověřili jste, že vaše nástroje stále dokážou správně identifikovat vstupní bod, je bezpečné toto upozornění potlačit.
Potlačte upozornění
U aplikací založených na souborech potlačíte jediné porušení přidáním #:property direktivy do souboru vstupního bodu.
#:property NoWarn=$(NoWarn);CA2266
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .
[*.cs]
dotnet_diagnostic.CA2266.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.