RunCodeAnalysis = true在命令提示符下无效(MSBuild)

mik*_*e d 10 msbuild configuration code-analysis static-code-analysis

我正在尝试让msbuild像在VS中一样输出代码分析信息.我在VS中有一个名为"CodeAnalysis"的项目配置,用于在构建时运行代码分析(使用最小规则集).无论如何这在VS中运行良好,但是当我从命令行运行msbuild时它只显示基本的构建警告,并且它根本不运行代码分析.任何人都知道为什么会这样吗?

项目文件中的配置:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU'">
<OutputPath>bin\</OutputPath>
<CodeAnalysisRuleSet>C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\Rule Sets\MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
Run Code Online (Sandbox Code Playgroud)

命令行:

msbuild Solution.sln /p:Configuration=CodeAnalysis /t:Rebuild
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

msbuild Solution.sln /p:RunCodeAnalysis=true /t:Rebuild
Run Code Online (Sandbox Code Playgroud)

Kei*_*ith 9

默认情况下,MSBuild使用项目文件中配置的值,但您可以msbuild使用参数在命令行上覆盖它

/p:RunCodeAnalysis=true
Run Code Online (Sandbox Code Playgroud)

始终运行代码分析.反之亦然,使用

/p:RunCodeAnalysis=false
Run Code Online (Sandbox Code Playgroud)

禁用代码分析.

也可以看看:


Eug*_*nko 1

您需要在计算机上安装 Visual Studio。通过 csproj 行包含许多脚本:

当您安装了 VS(正确版本)时,它将包含 FxCop 目标文件并为您启动代码分析。