2010-07-05 40 views
5

规则集升级到2010 VS MSBUILD/P后:RunCodeAnalysis = TRUE预期如何指定MSBuild中

msbuild solution.sln /p:RunCodeAnalysis=true 

为了获得更快的构建我们去掉了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 

回答

18

您将不得不使用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
+1

规则集,也可以到文件的链接。例如:'/ p:RunCodeAnalysis = true; CodeAnalysisRuleSet =“C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Team Tools \ Static Analysis Tools \ Rule Sets \ ExtendedDesignGuidelineRules.ruleset”'。 – 2016-11-06 21:52:53

相关问题