Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
| Harta benda | Nilai |
|---|---|
| Identifikasi Aturan | CA2267 |
| Title | Kutip spasi kosong dalam nilai direktif program berbasis file |
| Kategori | Penggunaan |
| Perbaikan bersifat merusak atau tidak merusak | Tidak terputus |
| Diaktifkan secara default di .NET 11 | Sebagai peringatan |
| Bahasa yang berlaku | C# |
Cause
Nilai direktif program #: berbasis file berisi karakter spasi tanpa tanda kutip.
Deskripsi aturan
Sebelum penggunaan tanda kutip didukung, karakter spasi dalam nilai arahan program berbasis file #: dianggap harfiah. Formulir itu masih berfungsi tetapi tidak digunakan lagi. Bungkus nilai yang berisi spasi kosong dalam tanda kutip ganda (") sehingga diurai secara tidak ambigu.
Aturan ini berlaku untuk arahan #:sdk, , #:package#:property, #:project#:ref, #:include, dan #:exclude . Hal ini hanya dilaporkan ketika nilai tersebut memiliki padanan berpetik yang tidak ambigu dan mempertahankan semantik, sehingga penerapan perbaikan tidak pernah mengubah makna direktif.
Untuk informasi selengkapnya tentang aplikasi berbasis file dan arahannya, lihat Aplikasi berbasis file.
Cara memperbaiki pelanggaran
Tambahkan tanda kutip ganda di sekitar nilai semantik sehingga spasi putih diurai secara tidak ambigu. Untuk formulir gabungan, seperti penetapan properti atau nama dan versi paket, kutip bagian setelah pemisah. Pertahankan spasi yang memang disengaja di sekitar pemisah di luar tanda kutip.
Di Visual Studio, Anda juga dapat menggunakan perbaikan kode Tambahkan tanda kutip di sekitar nilai direktif.
Example
Cuplikan kode berikut menunjukkan pelanggaran CA2267.
#:property Description=Hello World
Cuplikan kode berikut memperbaiki pelanggaran.
#:property Description="Hello World"
Perbaikan kode mempertahankan spasi kosong di sekitar pemisah dan antara jenis direktif dan nilainya. Misalnya, direktif berikut menyelaraskan nama dan pemisah:
#:property Prop = Value
#:package First @ 1.0
Perbaikan kode menambahkan tanda kutip tanpa mengubah perataan tersebut:
#:property Prop = "Value"
#:package First @ "1.0"
Kapan harus menekan peringatan
Tidak disarankan untuk menekan peringatan ini. Formulir yang dikutip adalah cara yang didukung untuk menyertakan spasi kosong dalam nilai direktif, dan formulir yang tidak dikutip tidak digunakan lagi.
Menyembunyikan peringatan
Untuk aplikasi berbasis file, abaikan satu pelanggaran dengan menambahkan direktif #:property ke file titik masuk.
#:property NoWarn=$(NoWarn);CA2267
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.
[*.cs]
dotnet_diagnostic.CA2267.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.