CA2266: A fájlalapú program belépési pontnak a következővel kell kezdődnie: #!

Property Érték
Szabályazonosító CA2266
Title A fájlalapú program belépési pontjának a következővel kell kezdődnie: #!
Kategória Usage
A javítás törést okoz vagy nem okoz törést Non-breaking
Alapértelmezés szerint engedélyezve a .NET 10-ben Figyelmeztetésként
Alkalmazandó nyelvek C#

A probléma oka

Az Ön belépési pontként szolgáló fájlja egy többfájlos, fájlalapú programban nem shebang (#!) sorral kezdődik.

Szabály leírása

A megfelelő eszközazonosítás és a közvetlen rendszerhéj-végrehajtás támogatása érdekében a belépési pontként szolgáló fájlt egy shebang (#!) sorral kezdje, hogy egyértelműen meg lehessen különböztetni a #:include vagy #:ref használatával bevont fájloktól.

Szabálysértések kijavítása

Adjon hozzá egy szegélyvonalat a belépési pont fájljának elejéhez, például #!/usr/bin/env dotnet.

Example

Az alábbi kódrészlet a CA2266 megsértését mutatja.

In app.cs:

#:include "helpers.cs"

Console.WriteLine(GetMessage());

In helpers.cs:

string GetMessage() => "Hello";

Az alábbi kódrészlet kijavítja a szabálysértést.

In app.cs:

#!/usr/bin/env dotnet
#:include "helpers.cs"

Console.WriteLine(GetMessage());

In helpers.cs:

string GetMessage() => "Hello";

Mikor kell letiltani a figyelmeztetéseket?

Ha szándékosan kihagyja a shebang sort, és meggyőződött arról, hogy az eszközkészlete továbbra is helyesen azonosítja a belépési pontot, nyugodtan elnyomhatja ezt a figyelmeztetést.

Figyelmeztetés mellőzése

Fájlalapú alkalmazások esetén egyetlen szabálysértés mellőzése érdekében adjon hozzá egy #:property irányelvet a belépési pont fájlhoz.

#:property NoWarn=$(NoWarn);CA2266

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.cs]
dotnet_diagnostic.CA2266.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Lásd még

Fájlalapú alkalmazások