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

после обновления до VS 2010 MSBUILD/p: RunCodeAnalysis=true работает не так, как ожидалось

msbuild solution.sln /p:RunCodeAnalysis=true

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

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

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

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

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

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