Могу ли я подавить нарушения анализа кода FX Cop по всему миру?

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

Вопрос

Когда вы используете Visual Studio code analysic (FxCop) и хотите подавить сообщение, есть 3 варианта.

  1. Подавите нарушение в коде.
  2. Подавить нарушение в файле GlobalSupression.cs.
  3. Отключите проверку на нарушение в файле проекта (через Проект -> Свойства -> Анализ кода).

Более поздний вариант очень сложно просмотреть при регистрации в системе управления версиями, и трудно получить обзор всех отключенных нарушений.Итак, мы хотели бы использовать вариант 2.

Проблема с вариантами 1 и 2 заключается в том, что вы получаете одну строку подавления для каждого нарушения.Например, как:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace2")]
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace1")]

Мы бы с удовольствием сделали что-то подобное с GlobalSuppressions.cs:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")]

Но возможно ли это?

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

Решение

Подавление множественных нарушений с помощью одного Подавлять сообщение атрибут официально не поддерживается.По-видимому, это сделано специально.

Я согласен, иногда это может раздражать, но я не могу сказать, что не согласен с решением, поскольку атрибут - это их способ заставить вас сказать: "Да, я знаю, что я делаю", что должно оцениваться в каждом конкретном случае.

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

Я думаю, что все изменилось с тех пор, как был опубликован этот вопрос и дан ответ на него.Для Visual Studio 2010 и 2012 вы можете создать пользовательский файл "набора правил", в котором вы можете указать, какие правила анализа кода вы хотите подавить.

http://msdn.microsoft.com/en-us/library/dd380660.aspx

Итак, что я сделал, так это создал единый пользовательский файл набора правил, который находится в папке верхнего уровня моей коллекции исходных текстов репозитория, и я ссылаюсь на этот файл в каждом проекте Visual Studio.Это означает, что у меня есть одно центральное место, где я могу подавлять правила анализа кода, которые я просто терпеть не могу.Но если я когда-нибудь передумаю или решу, что мне следует пересмотреть свои плохие привычки в программировании, я могу очень просто повторно включить правило и посмотреть, сколько сообщений об анализе кода я получу.

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