Использование TeamCity для запуска Fxcop против моего старого и грубого решения генерирует слишком много ошибок

#continuous-integration #teamcity #fxcop

#непрерывная интеграция #teamcity #fxcop

Вопрос:

Как я могу заставить Fxcop, запускаемый TeamCity, ограничиться рассмотрением меньшего количества правил?

Я не хочу использовать проект .fxcop, поскольку это означает, что мне нужно будет курировать, который.библиотеки dll используются при анализе, а не в качестве подстановочного знака на этапе сборки teamcity.

Комментарии:

1. Лофер, ответ отрицательный. У нас есть связанная проблема в нашем трекере. Не стесняйтесь смотреть / голосовать / комментировать.

Ответ №1:

У вас есть три основных варианта, вы действительно хотите полностью отключить некоторые правила:

  1. (Только для FxCop 10.0) Вы могли бы использовать набор правил, который вы должны иметь возможность указать с помощью дополнительных параметров командной строки для fxcopcmd.exe в TeamCity.
  2. Вы можете использовать переключатель командной строки /ruleid, чтобы указать правила для исключения.
  3. Вы должны иметь возможность использовать файл проекта .fxcop, который не содержит целевых объектов, а также переключатель целевой сборки для командной строки. (Учитывая ответ лодкина, похоже, вам нужно будет указать файл .fxcop с помощью дополнительных параметров командной строки, если вы хотите использовать список сборок TeamCity с подстановочными знаками.)

Если вы не хотите рисковать новыми нарушениями этих правил (которые, по-видимому, так часто нарушались в прошлом), вы можете рассмотреть возможность подавления старых нарушений вместо полного отключения правил. Если это так, одним из подходов было бы добавить подавления в файл проекта .fxcop (используется, как в # 3 выше) с примечанием, указывающим, что они являются «невыполненными» или «устаревшими» нарушениями. Это можно сделать за один шаг из пользовательского интерфейса FxCop и позволит вам отделить эти подавления от «реальных» подавлений, указанных через атрибуты SuppressMessage в вашем исходном коде.