Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

Часто задаваемые вопросы: Как предотвратить предотвращение FxCop предупреждениями против сгенерированного кода

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

[GeneratedCode]
public partial class MainDataContext { }

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

Ответ 2

Добавьте [GeneratedCode] attribute в классы.
EDIT: я имел в виду частичные классы с одинаковыми именами, что объяснялось другим ответом.

Ответ 3

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

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

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]

Ответ 4

<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

Заставить оператор в GlobalSuppressions.vb в корне проекта.

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