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

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

Как я нашел в некоторых блогах и вопросах stackoverflow, я попытался сделать это с помощью политики регистрации:

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

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

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

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

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

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


person rhe1980    schedule 29.02.2012    source источник


Ответы (2)


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

person vjm    schedule 10.07.2012

Если я правильно понял, то последующее поведение будет таким:

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

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

  1. Удалите «Включить анализ кода при сборке» из вашего csproj.
  2. Удалить политику регистрации
  3. Откройте определение сборки для редактирования и перейдите к «Процесс»> «2.Basic» и установите «Выполнять анализ кода» на «Всегда».

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

person pantelif    schedule 29.02.2012
comment
спасибо за Ваш ответ. как вы сказали, я думаю, что с вашим решением у меня возникает проблема, которую я не вижу непосредственно в визуальной студии с предупреждениями. Я видел в каком-то посте, что в tfs2008 можно было настроить обработку предупреждений как ошибок, которые охватывают именно мою проблему. Но похоже, что в tfs2010 эта опция недоступна.. теперь я думаю сделать собственную политику регистрации, но мне эта идея не очень нравится ;-) - person rhe1980; 29.02.2012