15

升级到 VS 2010 MSBUILD /p:RunCodeAnalysis=true 后无法按预期工作

msbuild solution.sln /p:RunCodeAnalysis=true

为了获得更快的构建,我们删除了 DEBUG 构建的 CODE_ANALYSIS 常量。但这意味着在运行上述 msbuild 命令时,它默认所有规则,而不是使用我们在项目属性页面的“代码分析”选项卡上指定的规则集。

所以现在我需要在发布模式下运行代码分析(定义了 CODE_ANALYSIS 常量):

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

然而,这意味着我们在我们的开发机器上获得了一个发布版本。这对我们的设置有一些副作用。

问题:如何从命令行指定规则集。我希望是这样的:

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

1 回答 1

29

您必须使用该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
于 2010-07-05T12:15:33.433 回答