Лучший способ интеграции StyleCop с TFS CI - PullRequest
16 голосов
/ 17 февраля 2009

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

30 голосов
/ 26 июня 2009

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

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

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

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

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

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

2 голосов
/ 25 июня 2009

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

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

1 голос
/ 01 апреля 2016

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

Вот и все =)

...