После обновления до MSBUILD VS 2010 года/p:RunCodeAnalysis=true не работает как ожидалось
msbuild solution.sln /p:RunCodeAnalysis=true
Для получения более быстрых сборок, мы удалили константу CODE_ANALYSIS для Отладочной сборки. Но это означает thet при выполнении вышеупомянутого msbuild команда, это defauls ко всем правилам, вместо того, чтобы использовать ruleset, в котором мы указали на вкладке "Code Analysis" на странице свойства проекта.
Таким образом, теперь я должен создать в режиме выпуска для выполнения кода analasis (которому определили константу CODE_ANALYSIS):
msbuild solution.sln /p:RunCodeAnalysis=true /p:Configuration=release
Это однако означает, что мы получаем сборку конечных версий на наших dev машинах. И это имеет некоторые побочные эффекты в нашей установке.
Вопрос: Как я указываю rulset из командной строки. Я надеялся что-то как:
msbuild solution.sln /p:RunCodeAnalysis=true /p:foobar=rules.ruleset
Вам придется использовать свойство 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