问题 如何自动化Visual Studio的代码度量标准功能


我想自动化在.NET解决方案上收集代码度量的过程。有没有办法让msbuild运行VS2008开发版中包含的Code Metrics功能?

我最终可能会使用 SourceMonitor,但我想知道是否有办法从命令行使用VS代码度量引擎。


9337
2017-12-08 15:25


起源



答案:


最后,微软为我们提供了 一种自动化Visual Studio代码度量标准功能的方法 使用新的“电动工具”。


9
2018-02-10 17:26



我想从代码度量分析命令运行我的C ++解决方案文件(vs 2010)。这项工作适用于C ++项目吗? - Chris_vr
缺少“电动工具” - Carlos Liu


答案:


最后,微软为我们提供了 一种自动化Visual Studio代码度量标准功能的方法 使用新的“电动工具”。


9
2018-02-10 17:26



我想从代码度量分析命令运行我的C ++解决方案文件(vs 2010)。这项工作适用于C ++项目吗? - Chris_vr
缺少“电动工具” - Carlos Liu


这就是我公司使用MSBuild自动化FxCop的方法:

<!-- The directory where FxCop is installed. -->
<FxCopDirectory>C:\Program Files\Microsoft FxCop 1.36</FxCopDirectory>

<!-- The FxCop console executable.. -->
<FxCopCmd>$(FxCopDirectory)\FxCopCmd</FxCopCmd>

<Target Name="CodeAnalysis>
<!-- Once to get XML for metrics. -->
<Exec Command="&quot;$(FxCopCmd)&quot; /p:&quot;$(BuildDirectory)\FxCop\RuleSet.FxCop&quot; /out:$(BuildResults)\FxCop.xml /summary /verbose /f:$(Binaries)\@(CodeAnalysis, ' /f:$(Binaries)\')" />

<!-- Once to report with the build results. -->
<Exec Command="&quot;$(FxCopCmd)&quot; /p:&quot;$(BuildDirectory)\FxCop\RuleSet.FxCop&quot; /out:$(BuildResults)\FxCop.html /summary /verbose /applyoutXsl:$(MSBuildTasks)\CodeAnalysisReport.xsl /f:$(Binaries)\@(CodeAnalysis, ' /f:$(Binaries)\')" />

<!-- Update the FxCop report so that it is fully expanded by default. -->
<FileUpdate Regex="&lt;body\s"
            ReplacementText="&lt;body onLoad=&quot;ExpandAll();&quot; "
            Files="$(BuildResults)\FxCop.html" />
</Target>


5
2018-01-07 21:28





jgwood - 我相信他指的是Code Metrics(圈复杂度等),而不是FxCop。我一直在寻找解决方案,因为复杂性的FxCop规则具有硬编码阈值。听起来VS2008中的指标还没有命令行或API(每个 这个帖子 在代码分析团队博客上) - 希望他们将发布一个powertool。

你看过了吗? NDepend的 为了这?


2
2018-01-20 14:57