TFS2010: запретить регистрацию, если существует предупреждение анализа кода
В моей команде я хочу запретить разработчику регистрировать код с предупреждениями от анализа кода.
Как я нашел в некоторых блогах и stackru-вопросы, я пытался сделать это с политикой регистрации:
- Включите анализ кода в Visual Studio Project и установите Rulset (минимальные рекомендуемые правила Microsoft)
- Добавьте политику регистрации "Анализ кода" и установите тот же набор правил (минимальные рекомендуемые правила Microsoft).
Проблема, с которой я столкнулся, состоит в том, что политика запрещает повторную регистрацию только при наличии ошибок, но не при наличии только предупреждений. Конечно, я могу изменить набор правил и установить все правила как ошибки. Но тогда и локальные сборки невозможны.
Итак, я хочу, чтобы все правила были предупреждениями, и создание проекта возможно, но регистрация также предотвращается, если существует только предупреждение.
Моя идея заключалась в том, чтобы установить другой набор правил в настройках политики регистрации (те же правила, но все правила, как ошибки). Но при попытке регистрации вы получите ошибку: параметры анализа кода не совместимы с политикой анализа кода.
Поэтому мой вопрос: есть ли у кого-нибудь решение или идея, как я могу решить эту проблему?
Заранее спасибо за ваш ответ!
2 ответа
Я пробовал это в V2010 (то есть обрабатывать предупреждения как ошибки), но это работало только для предупреждений компилятора, а не CA-предупреждений. Таким образом, мои предупреждения CA все еще оставались в качестве предупреждений, тогда как предупреждения моего компилятора теперь стали ошибками.
Если я правильно понял, что вы после того, как после:
- На рабочей станции разработчика: компиляция прошла успешно, даже если есть предупреждения
- В TFS-Build: Компилирование разрывов, если есть предупреждения
Чтобы получить это:
- Удалите "Включить анализ кода при сборке" из вашего csproj
- Удалить политику регистрации
- Откройте определение сборки для редактирования и перейдите к "Process">"2.Basic" и установите "Perform Code Analysis" в "Always"
Теперь будьте осторожны, так как вы можете работать в ситуации, когда сборка завершается успешно на каждой рабочей станции DEV и происходит сбой в TFS. Это было бы действительно плохо.
Один из способов избежать этого - изменить триггер сборки на "Gated Check-in", чтобы при наличии предупреждений сборка не удалась, а разработчики не могли зарегистрироваться.
Этот последний шаг, в некотором роде, заменяет удаленную вами политику регистрации.