Как мне указать набор правил из MSBuild

После обновления до VS 2010 MSBUILD /p:RunCodeAnalysis=true не работает должным образом

msbuild solution.sln /p:RunCodeAnalysis=true

Чтобы получить более быстрые сборки, мы убрали константу CODE_ANALYSIS для сборки DEBUG. Но это означает, что при выполнении вышеупомянутой команды msbuild она по умолчанию применяется ко всем правилам вместо использования набора правил, который мы указали на вкладке "Анализ кода" на странице свойств проекта.

Итак, теперь мне нужно встроить режим выпуска для запуска анализа кода (для которого определена константа CODE_ANALYSIS):

msbuild solution.sln /p:RunCodeAnalysis=true /p:Configuration=release

Это, однако, означает, что мы получаем релизную версию на наших машинах разработчиков. И это имеет некоторые побочные эффекты в нашей установке.

Вопрос: Как мне указать рулсет из командной строки. Я надеялся что-то вроде:

msbuild solution.sln /p:RunCodeAnalysis=true /p:foobar=rules.ruleset

1 ответ

Решение

Вам придется использовать CodeAnalysisRuleSet имущество.

msbuild solution.sln /p:RunCodeAnalysis=true;CodeAnalysisRuleSet=GlobalizationRules.ruleset

Вот предопределенный список правил:

  • AllRules.ruleset
  • BasicCorrectnessRules.ruleset
  • BasicDesignGuidelineRules.ruleset
  • ExtendedCorrectnessRules.ruleset
  • ExtendedDesignGuidelineRules.ruleset
  • GlobalizationRules.ruleset
  • MinimumRecommendedRules.ruleset
  • SecurityRules.ruleset
Другие вопросы по тегам