Исключить полное пространство имен из анализа кода FxCop?

StackOverflow https://stackoverflow.com/questions/353110

  •  20-08-2019
  •  | 
  •  

Вопрос

Можно ли исключить полное пространство имен из всего анализа FxCop, при этом анализируя остальную часть сборки с помощью SuppressMessageAttribute?

В моем текущем случае у меня есть несколько классов, сгенерированных LINQ to SQL, которые вызывают множество проблем с FxCop, и, очевидно, я не буду изменять все из них, чтобы они соответствовали стандартам FxCop, так как многие из этих модификаций исчезли бы, если бы я заново сгенерировал классы.

Я знаю, что у FxCop есть опция проекта для подавления анализа сгенерированного кода, но, похоже, она не распознает классы сущностей и контекста, созданные LINQ 2 SQL, как сгенерированный код.

Это было полезно?

Решение

Если вы пометите свои классы тегом [GeneratedCode] атрибут, вы можете использовать флаг /ignoregeneratedcode с FxCop, как описано в этом сообщении MSDN:

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ:Как запретить FxCop выдавать предупреждения о сгенерированном коде

Возможно, вам придется добавить новый файл кода и реализовать там новые частичные классы, чтобы добавить атрибут в классы:

[GeneratedCode]
public partial class MainDataContext { }

Просто убедитесь, что вы добавляете все в правильное пространство имен при создании нового файла.

Другие советы

Добавить [GeneratedCode] attribute на занятия.
РЕДАКТИРОВАТЬ:Я имел в виду частичные классы с одинаковыми именами, как объяснено в другом ответе.

Используйте атрибут сгенерированного кода, вот Сообщение блога от команды анализа кода по этому вопросу.

Это в верхней части пространства имен должно помочь:

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

Поместите заявление в GlobalSuppressions.vb в корне проекта.

Все, что у меня есть, это пример VB.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top