2010-07-05 2 views
5

После обновления до VS 2010 MSBUILD/р: RunCodeAnalysis = истина не работает, как ожидалосьКак указать набор правил из MSBuild

msbuild solution.sln /p:RunCodeAnalysis=true 

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

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

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

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

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

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

ответ

18

Вам нужно будет использовать имущество 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
+1

Набор правил может быть также ссылку на файл. Например: '/ p: RunCodeAnalysis = true, CodeAnalysisRuleSet =" C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Team Tools \ Статические инструменты анализа \ Rule Sets \ ExtendedDesignGuidelineRules.ruleset ". –

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