TFS2010: запретить регистрацию, если существует предупреждение анализа кода

В моей команде я хочу запретить разработчику регистрировать код с предупреждениями от анализа кода.

Как я нашел в некоторых блогах и stackru-вопросы, я пытался сделать это с политикой регистрации:

  1. Включите анализ кода в Visual Studio Project и установите Rulset (минимальные рекомендуемые правила Microsoft)
  2. Добавьте политику регистрации "Анализ кода" и установите тот же набор правил (минимальные рекомендуемые правила Microsoft).

Проблема, с которой я столкнулся, состоит в том, что политика запрещает повторную регистрацию только при наличии ошибок, но не при наличии только предупреждений. Конечно, я могу изменить набор правил и установить все правила как ошибки. Но тогда и локальные сборки невозможны.

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

Моя идея заключалась в том, чтобы установить другой набор правил в настройках политики регистрации (те же правила, но все правила, как ошибки). Но при попытке регистрации вы получите ошибку: параметры анализа кода не совместимы с политикой анализа кода.

Поэтому мой вопрос: есть ли у кого-нибудь решение или идея, как я могу решить эту проблему?

Заранее спасибо за ваш ответ!

2 ответа

Я пробовал это в V2010 (то есть обрабатывать предупреждения как ошибки), но это работало только для предупреждений компилятора, а не CA-предупреждений. Таким образом, мои предупреждения CA все еще оставались в качестве предупреждений, тогда как предупреждения моего компилятора теперь стали ошибками.

Если я правильно понял, что вы после того, как после:

  • На рабочей станции разработчика: компиляция прошла успешно, даже если есть предупреждения
  • В TFS-Build: Компилирование разрывов, если есть предупреждения

Чтобы получить это:

  1. Удалите "Включить анализ кода при сборке" из вашего csproj
  2. Удалить политику регистрации
  3. Откройте определение сборки для редактирования и перейдите к "Process">"2.Basic" и установите "Perform Code Analysis" в "Always"

Теперь будьте осторожны, так как вы можете работать в ситуации, когда сборка завершается успешно на каждой рабочей станции DEV и происходит сбой в TFS. Это было бы действительно плохо.
Один из способов избежать этого - изменить триггер сборки на "Gated Check-in", чтобы при наличии предупреждений сборка не удалась, а разработчики не могли зарегистрироваться.
Этот последний шаг, в некотором роде, заменяет удаленную вами политику регистрации.

Другие вопросы по тегам