Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.