Genel 'SuppressMessageAttribute' (IDE0077) içinde eski biçim hedeflerinden kaçının

Mülk Değer
kural kimliği IDE0077
Başlık Genel SuppressMessageAttribute eski biçim hedeflerinden kaçının
Kategori CodeQuality
alt kategori Çeşitli kurallar
Geçerli diller C# ve Visual Basic

Genel bakış

Bu kural, eski FxCop hedef dize biçimini kullanarak Target belirten genel SuppressMessageAttributes bayrak ekler. Eski biçim Target kullanıldığında performans sorunları olduğu bilinmektedir ve bundan kaçınılmalıdır. Daha fazla bilgi için Bkz. dotnet/roslyn sorunu 44362.

Target için önerilen biçim, belge kimliği biçimidir. Belge kimlikleri hakkında bilgi için bkz. Belge Kimliği biçimi.

Bahşiş

Visual Studio 2019, özniteliğin Target önerilen biçime otomatik olarak değiştirmek için bir kod düzeltmesi sağlar.

Seçenekler

Bu kuralın ilişkili kod stili seçeneği yoktur.

Örnek

// IDE0077: Legacy format target 'N.C.#F'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "N.C.#F")]

// Fixed code
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~F:N.C.F")]

namespace N
{
    class C
    {
        public int F;
    }
}

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 IDE0077
// The code that's violating the rule is on this line.
#pragma warning restore IDE0077

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

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

Bu kural kategorisinin tamamını devre dışı bırakmak için, kategorinin önem derecesini yapılandırma dosyasında none olarak ayarlayın.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none

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

Ayrıca bkz.