Поделиться через


Не используйте устаревший формат для целевого объекта в глобальном атрибуте "SuppressMessageAttribute" (IDE0077)

Свойство Значение
Идентификатор правила IDE0077
Title Не используйте устаревший формат для целевого объекта в глобальном атрибуте SuppressMessageAttribute
Категория Качество кода
Подкатегория Прочие правила
Применимые языки C# и Visual Basic

Обзор

Это правило помечает глобальные атрибуты SuppressMessageAttributes, которые указывают Target, используя устаревший формат строки целевого объекта FxCop. Использование устаревшего формата Target , как известно, имеет проблемы с производительностью, и их следует избегать. Дополнительные сведения см. в проблеме dotnet/roslyn 44362.

Рекомендуется использовать для Target формат ИД документации. См. сведения о формате ИД документации.

Совет

Visual Studio 2019 поддерживает исправление кода для автоматической смены Target атрибута на рекомендуемый формат.

Варианты

Это правило не имеет связанных параметров стиля кода.

Пример

// 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;
    }
}

Отключение предупреждений

Если вы хотите подавить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.

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

Чтобы отключить правило для файла, папки или проекта, задайте для его серьезности none значение в файле конфигурации.

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

Чтобы отключить всю эту категорию правил, задайте для категории none значение серьезности в файле конфигурации.

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

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

См. также раздел