如何从 MSBuild 指定规则集
-
02-10-2019 - |
题
升级到 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
解决方案
你必须使用 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
不隶属于 StackOverflow