CodeAnalysis RuleSet Management для многих проектов в VS2010 (в основном подавления) - PullRequest
1 голос
/ 22 октября 2011

Для работы с VS2005 и VS2008 мы определили наши текущие правила ca в списке sharepoint.

В списке есть столбец, в котором перечислены все исключенные сборки, разделенные точкой с запятой.

ПользовательскийЗадача сборки прочитала список sharepoint и была ответственна за исключение указанного правила в файле проекта с "-! CA ..." в сборке команды.

Теперь мы планируем перенести наши проекты в VS 2010 иНовый набор правил анализа кода создает некоторые проблемы.

Первая идея состояла в том, чтобы

  • создать файл набора правил из sharepoint
  • , добавить GlobalSupressions.cs в качестве элемента решения идобавьте файл в каждый проект как связанный файл
  • , создайте запись SupressMessage в GlobalSupressions.cs с целевым пространством имен и исключением

Я проверил это с небольшим решением с одним проектом.Похоже, что целевое пространство имен не работает.

Я искал в режиме stackoverflow и в интернете, и главный ответ состоял в том, что подавления с целевым пространством имен не работают.

Основное приложение содержит более 250 проектов.

Мне кажется, что единственный работающий способ - это создать n пользовательских наборов правил для разных проектов, в которых исключенные правила отключены.

Я не хочу проходить через полное приложение и повторно подавлять все правила в коде.

Как вы работаете с новыми наборами правил в такой ситуации?

Есть идеи?Как я могу работать с новыми наборами правил простым и понятным способом?Список sharepoint является ведущей частью для определения правил анализа кода.

Edit 1

В предыдущих проектах мы управляли нашим определением набора правил анализа кода всписок sharepoint.В списке отображаются все правила CA в виде списка

  • номер CA
  • активирован
  • обработан как ошибка
  • исключение (содержит имя участника проекта, например 'Test 'или полное имя проекта / сборки)

Из списка создается набор правил, где

  • активировано + handleAsError = правило включено
  • ! Активировано= отключить правило
  • активировано +! handleAsError = предупреждение

Если столбец исключения имеет значение, например, «Тест», то во всех тестовых проектах правило должно быть отключено.

1 Ответ

2 голосов
/ 25 октября 2011

Ничто не заставляет вас переходить на новый подход к файлам .ruleset в VS2010.При желании вы можете продолжать использовать файлы проекта .fxcop или ключи командной строки fxcopcmd.exe в своих сборках, поэтому существующий подход, вероятно, должен продолжать работать (возможно, после нескольких незначительных изменений).

Этосказал, я предполагаю, что, вероятно, есть гораздо более простой способ достичь того, что вы хотите.Тем не менее, я не уверен, что полностью понимаю вашу конечную цель, поскольку ваш вопрос гораздо больше фокусируется на адаптации существующего подхода.Если вам нужна помощь в поиске подхода, который хорошо сочетается с возможностями нового инструмента, не могли бы вы предоставить более подробную информацию о том, что именно вы пытаетесь достичь?

...