Лучший способ интеграции StyleCop с TFS CI

Я занимался исследованием того, как включить исходный анализ для проекта, над которым я работаю, и планирую использовать StyleCop. У меня есть сервер TFS для управления исходным кодом, использующий непрерывную интеграцию TFS. Я хочу включить исходный анализ для сборок CI и ежедневных сборок, выполняемых на сборочной машине, а не только для тех, которые работают на машинах разработчиков.

Вот статья из документации StyleCop, которую я прочитал на эту тему: http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html. Это в основном изменяет файл csproj для этой цели.

Я также прочитал другие мнения о том, как StyleCop должен быть интегрирован с автоматизацией сборки, которые советуют делать то же самое, используя задачи сборки:

http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html http://freetodev.spaces.live.com/blog/cns!EC3C8F2028D842D5!400.entry,

Что ты думаешь? Были ли у вас похожие проекты и вы делали что-то подобное?

3 ответа

Решение

Некоторые моменты для использования StyleCop в целом:

  • Вам не нужно устанавливать StyleCop на своем компьютере (или компьютере сборки) - просто добавьте двоичные файлы StyleCop в систему управления версиями (около 1,5 МБ)
  • Затем просто добавьте относительную ссылку на файлы вашего проекта, например так (я пропустил <и>):

    Импортировать проект ="..\..\lib\Microsoft StyleCop\Microsoft.StyleCop.Targets"

  • Мы рассматриваем все предупреждения StyleCop как ошибки, используя StyleCopTreatErrorsAsWarnings настройка в файле проекта.

  • Для устаревших проектов вы можете использовать инструмент, предоставленный Microsoft, чтобы автоматически настроить игнорирование всех существующих исходных файлов.
  • Вы можете поместить файл настроек StyleCop (Settings.StyleCop) в корневом каталоге, где находится ваше решение VS (и, конечно, поместите его под контроль исходного кода). StyleCop знает, как найти этот файл автоматически (путем поиска в дереве каталогов). Таким образом, вы можете иметь собственные настройки для каждого решения.
  • Мы отключили некоторые правила StyleCop, которые, по нашему мнению, не очень практичны.

Таким образом, StyleCop будет интегрирован на этапе компиляции и, как таковой, станет частью сборки CI.

Мы успешно используем подход в следующих статьях на нескольких проектах...

http://blogs.msdn.com/sourceanalysis/pages/source-analysis-msbuild-integration.aspx http://blogs.msdn.com/sourceanalysis/archive/2008/11/11/introducing-stylecop-on-legacy-projects.aspx

в основном вы устанавливаете пару переменных среды, ссылаетесь на них во всех файлах.csproj, чтобы вы могли обслуживать различные рабочие каталоги для каждого отдельного разработчика, устанавливаете компоненты StyleCop MSBuild на сборочном компьютере и все готово. Никаких изменений в сборке команды не требуется.

Перейдите в Visual Studio, щелкните правой кнопкой мыши Решение> Управление пакетами Nuget> Установить StyleCop.MSBuild.

Вот и все =)

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