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.

Viz také

Souborové aplikace