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

Я занимаюсь исследованием того, как включить исходный анализ для проекта, над которым я работаю, и планирую использовать StyleCop. У меня есть TFS-сервер для управления версиями, используя TFS Continuous Integration. Я хочу включить исходный анализ для сборки 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.

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

Ответы

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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 на машине сборки, и вы отключены. Никаких изменений в сборке команды не требуется.

Ответ 3

Перейдите в Visual Studio, щелкните правой кнопкой мыши Solution > Manage Nuget Packages > Install StyleCop.MSBuild.

Что это =)