Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
CA2266: Dosya tabanlı program giriş noktası ile başlamalıdır
| Property | Değer |
|---|---|
| Kural Kimliği |
CA2266 |
| Title | Dosya tabanlı program giriş noktası ile başlamalıdır #! |
| Category | Usage |
| Düzeltme kırılgan mı yoksa sağlam mı | Non-breaking |
| .NET 10'da varsayılan olarak etkin | Uyarı olarak |
| Geçerli diller | C# (programlama dili) |
Nedeni
Çok dosyalı dosya tabanlı bir programdaki giriş noktası dosyanız shebang (#!) satırıyla başlamaz.
Kural açıklaması
Doğru araç tanımlaması ve doğrudan kabukta yürütme desteği için, giriş noktası dosyasını bir shebang (#!) satırıyla başlatın; böylece bu dosyayı #:include veya #:ref ile içeri alınan dosyalardan açıkça ayırt edebilirsiniz.
İhlalleri düzeltme
Giriş noktası dosyasının başına bir shebang satırı ekleyin; örneğin, #!/usr/bin/env dotnet.
Example
Aşağıdaki kod parçacığı ca2266 ihlalini gösterir.
app.cs'da:
#:include "helpers.cs"
Console.WriteLine(GetMessage());
helpers.cs'da:
string GetMessage() => "Hello";
Aşağıdaki kod parçacığı, ihlali düzeltir.
app.cs'da:
#!/usr/bin/env dotnet
#:include "helpers.cs"
Console.WriteLine(GetMessage());
helpers.cs'da:
string GetMessage() => "Hello";
Uyarıların ne zaman bastırılması gerekiyor?
Shebang satırını bilerek atladıysanız ve araçlarınızın giriş noktasını yine de doğru şekilde belirleyebildiğini doğruladıysanız, bu uyarıyı bastırmanız güvenlidir.
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);CA2266
Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, none önem derecesini olarak ayarlayın.
[*.cs]
dotnet_diagnostic.CA2266.severity = none
Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.