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.

Ayrıca bakınız

Dosya tabanlı uygulamalar