Как я указываю ruleset из MSBuild

После обновления до 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
12
задан Thomas Jespersen 5 July 2010 в 09:49
поделиться

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
25
ответ дан 2 December 2019 в 06:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: