Как мне указать набор правил из 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