2009-02-17 4 views
15

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

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

ответ

30

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

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

    Import Project =».. \ .. \ Lib \ Microsoft StyleCop \ Microsoft.StyleCop. Цели "

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

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

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

+0

Точно, как моя команда это делает. Мы не против изменений .csproj, это помогает нам добавить другие функциональные возможности и пользовательские задачи на этом пути. –

+1

Для этого сейчас есть пакет nuget! : D –

+6

Для справки, пакет NuGet является [StyleCop.MSBuild] (http://www.nuget.org/packages/StyleCop.MSBuild/) –

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

1

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

Это все =)

Смежные вопросы