CA1824: Derlemeleri NeutralResourcesLanguageAttribute ile işaretleme

Özellik Değer
Kural Kimliği CA1824
Başlık Derlemeleri NeutralResourcesLanguageAttribute ile işaretleyin
Kategori Performans
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
.NET 8'de varsayılan olarak etkin Öneri olarak

Neden

Derleme ResX tabanlı bir kaynak içerir, ancak System.Resources.NeutralResourcesLanguageAttribute bu kaynağa uygulanmamıştır.

Kural açıklaması

özniteliği, NeutralResourcesLanguageAttribute bir uygulamanın varsayılan kültürünü kaynak yöneticisine bildirir. Varsayılan kültürün kaynakları uygulamanın ana derlemesine eklenmişse ve ResourceManager varsayılan kültürle aynı kültüre ait kaynakları almak zorundaysa, ResourceManager uydu derlemesi aramak yerine otomatik olarak ana derlemede bulunan kaynakları kullanır. Bu, her zamanki derleme araştırmasını atlar, yüklediğiniz ilk kaynak için arama performansını artırır ve çalışma kümenizi azaltabilir.

Bahşiş

Kaynak dosyalarını araştırmak için kullanılan işlem ResourceManager için bkz. Kaynakları paketleme ve dağıtma.

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için özniteliğini derlemeye ekleyin ve nötr kültürün kaynaklarının dilini belirtin.

Kaynakların nötr dilini belirtmek için

  1. Çözüm Gezgini'da projenize sağ tıklayın ve özellikler'i seçin.

  2. Paket sekmesini seçin.

    Dekont

    Projeniz bir .NET Framework projesiyse, Uygulama sekmesini ve ardından Derleme Bilgileri'ni seçin.

  3. Nötr dil veya Derleme nötr dil açılan listesinden dili seçin.

  4. Tamam seçeneğini işaretleyin.

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

Bu kuraldan gelen bir uyarıyı engellemek mümkündür. Ancak başlangıç performansı düşebilir. Bu uyarıyı engellemek için .globalconfig veya .editorconfig dosyanıza ekleyindotnet_diagnostic.CA1824.severity = none.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

#pragma warning disable CA1824
// The code that's violating the rule is on this line.
#pragma warning restore CA1824

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.CA1824.severity = none

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

Ayrıca bkz.