CA2266: Titik masuk program berbasis file harus dimulai dengan #!

Property Nilai
Identifikasi Aturan CA2266
Title Titik entri program berbasis file harus dimulai dengan #!
Category Penggunaan
Perbaikan bersifat merusak atau tidak merusak Non-breaking
Diaktifkan secara default di .NET 10 Sebagai peringatan
Bahasa yang berlaku C#

Cause

File titik masuk Anda dalam program berbasis file yang terdiri dari beberapa file tidak diawali dengan baris shebang (#!).

Deskripsi aturan

Untuk identifikasi tool yang tepat dan dukungan eksekusi shell langsung, awali file entry point dengan baris shebang (#!) agar jelas dibedakan dari file yang disertakan dengan #:include atau #:ref.

Cara memperbaiki pelanggaran

Tambahkan baris shebang di awal file entry point, misalnya, #!/usr/bin/env dotnet.

Example

Cuplikan kode berikut menunjukkan pelanggaran CA2266.

Dalam app.cs:

#:include "helpers.cs"

Console.WriteLine(GetMessage());

Dalam helpers.cs:

string GetMessage() => "Hello";

Cuplikan kode berikut memperbaiki pelanggaran.

Dalam app.cs:

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

Console.WriteLine(GetMessage());

Dalam helpers.cs:

string GetMessage() => "Hello";

Kapan harus menekan peringatan

Jika Anda sengaja menghilangkan baris shebang dan telah mengonfirmasi bahwa alat Anda masih dapat mengidentifikasi titik masuk dengan benar, maka aman untuk mengabaikan peringatan ini.

Menyembunyikan peringatan

Untuk aplikasi berbasis file, abaikan satu pelanggaran dengan menambahkan direktif #:property ke file titik masuk.

#:property NoWarn=$(NoWarn);CA2266

Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.

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

Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.

Baca juga

Aplikasi berbasis file