CA2267: Dosya tabanlı program yönerge değerlerinde tırnak boşluğu

Mülkiyet Değer
Kural Kimliği CA2267
Title Dosya tabanlı program yönergesi değerlerindeki boşlukları tırnak içine alma
Kategori Usage
Düzeltme kırılgan mı yoksa sağlam mı Non-breaking
.NET 11'de varsayılan olarak etkindir Uyarı olarak
Geçerli diller C#

Cause

Dosya tabanlı program #: yönergesinin değeri, tırnak içine alınmamış boşluk içerir.

Kural açıklaması

Alıntılar desteklenmeden önce, dosya tabanlı bir program #: yönerge değerindeki boşluk kelimenin tam anlamıyla alınmıştır. Bu form hala çalışır ancak kullanım dışıdır. Boşluk içeren değerleri, belirsizliğe yer vermeden ayrıştırılmaları için çift tırnak içine alın (").

Bu kural, #:property, #:package, #:project, #:ref, #:include, #:exclude ve #:sdk yönergeleri için geçerlidir. Yalnızca değerin, anlamı koruyan ve açıkça belirli bir tırnaklı karşılığı olduğunda bildirilir; bu nedenle düzeltmenin uygulanması, yönergenin anlamını hiçbir zaman değiştirmez.

Dosya tabanlı uygulamalar ve yönergeleri hakkında daha fazla bilgi için bkz. Dosya tabanlı uygulamalar.

İhlalleri düzeltme

Boşlukların belirsizliğe yer vermeden ayrıştırılması için semantik değerin çevresine çift tırnak ekleyin. Özellik ataması veya paket adı ve sürümü gibi bileşik formlar için ayırıcıdan sonraki bölümü tırnak içine alın. Ayırıcının etrafındaki kasıtlı boşlukları tırnak işaretleri dışında tutun.

Visual Studio'da, Yönerge değerinin çevresine tırnak işaretleri ekle kod düzeltmesini de uygulayabilirsiniz.

Example

Aşağıdaki kod parçacığı CA2267 ihlalini gösterir.

#:property Description=Hello World

Aşağıdaki kod parçacığı, ihlali düzeltir.

#:property Description="Hello World"

Kod düzeltmesi, ayırıcıların etrafındaki ve yönerge türü ile değeri arasındaki boşluğu korur. Örneğin, aşağıdaki direktifler adları ve ayırıcıları aynı hizaya getirir:

#:property Prop  = Value
#:package  First @ 1.0

Kod düzeltmesi, hizalamayı değiştirmeden tırnak işaretleri ekler:

#:property Prop  = "Value"
#:package  First @ "1.0"

Uyarıların ne zaman bastırılması gerekiyor?

Bu uyarının gizlenmesi önerilmez. Alıntılanan form, yönerge değerine boşluk eklemenin desteklenen yoludur ve tırnak içine alınmamış form kullanım dışıdır.

Uyarıyı gizleme

Dosya tabanlı uygulamalar için, giriş noktası dosyasına bir yönerge ekleyerek tek bir #:property ihlali bastırın.

#:property NoWarn=$(NoWarn);CA2267

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, none önem derecesini olarak ayarlayın.

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

Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.

Ayrıca bakınız