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.
| Property | Value |
|---|---|
| Szabályazonosító | CA2267 |
| Title | Szóközt tartalmazó értékek idézőjelezése fájlalapú programdirektívákban |
| kategória | Usage |
| A javítás törést okoz vagy nem okoz törést | nem-törhető |
| Alapértelmezés szerint engedélyezve a .NET 11-ben | Figyelmeztetésként |
| Alkalmazandó nyelvek | C# |
A probléma oka
A fájlalapú programdirektíva #: értéke idézőjelek nélküli szóközt tartalmaz.
Szabály leírása
Mielőtt támogatottá vált az idézőjelek használata, a fájlalapú program #: irányelvének értékében az üres karaktereket szó szerint értelmezték. Ez az űrlap továbbra is működik, de elavult. A szóközt tartalmazó értékeket tegye dupla idézőjelek közé ("), hogy egyértelműen értelmezhetők legyenek.
Ez a szabály a #:sdk, #:property, , #:project#:package, #:ref, #:includeés #:exclude irányelvekre vonatkozik. Csak akkor jelzi a rendszer, ha az értéknek van egy egyértelmű, a jelentést megőrző idézőjeles megfelelője, így a javítás alkalmazása soha nem változtatja meg a direktíva jelentését.
A fájlalapú alkalmazásokról és azok irányelveiről további információt a Fájlalapú alkalmazások című témakörben talál.
Szabálysértések kijavítása
Adjon hozzá dupla idézőjeleket a szemantikai értékhez, így a whitespace egyértelmű elemzést nyer. Összetett űrlapok, például tulajdonság-hozzárendelés vagy csomagnév és -verzió esetén idézze az elválasztó utáni részt. Tartsa meg az elválasztó körüli szándékos szóközöket az idézőjeleken kívül.
A Visual Studióban az Idézőjelek hozzáadása az irányelv értéke köré kódjavítás is alkalmazható.
Example
Az alábbi kódrészlet a CA2267 megsértését mutatja be.
#:property Description=Hello World
Az alábbi kódrészlet kijavítja a szabálysértést.
#:property Description="Hello World"
A kódjavítás megőrzi a szóközöket az elválasztók körül, valamint az irányelv típusa és értéke között. A következő irányelvek például a neveket és az elválasztókat igazítják:
#:property Prop = Value
#:package First @ 1.0
A kódjavítás idézőjeleket ad hozzá az igazítás módosítása nélkül:
#:property Prop = "Value"
#:package First @ "1.0"
Mikor kell letiltani a figyelmeztetéseket?
Nem ajánlott elnyomni ezt a figyelmeztetést. Az idézőjeles forma az üres karakterek egy irányelv értékében való megadásának támogatott módja, az idézőjelek nélküli forma pedig elavult.
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);CA2267
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.CA2267.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.