升级到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
然而,这意味着我们在开发机器上获得了一个版本。这在我们的设置中有一些副作用。
问题:如何从命令行指定rulset。我希望有类似的东西:
msbuild solution.sln /p:RunCodeAnalysis=true /p:foobar=rules.ruleset
答案 0 :(得分:25)
您必须使用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