我正在玩ASP.NET Core和.NET Core项目。对于经典的C#项目,Visual Studio 2015具有计算代码度量的功能。对于.NET Core,预览2工具中缺少支持。
在工具更完整之前,是否有人知道解决方法?
答案 0 :(得分:5)
据此,它现在在VS 2019 Preview 1中可用:
https://developercommunity.visualstudio.com/idea/351625/netcore-code-metrics.html?childToView=404758
答案 1 :(得分:2)
NDepend支持.NET核心as per this
此外,SonarQube可以提供您正在寻找的一些指标(例如,代码行,Cyclomatic Complexity)。根据{{3}},版本2.3+支持.NET Core
答案 2 :(得分:0)
我将Microsoft.CodeAnalysis.FxCopAnalyzers nuget包添加到了我的.Net Core项目。这使我可以右键单击并运行代码分析,效果很好。
下一个挑战是使计算代码指标菜单选项起作用。
不幸的是,这仍然会产生错误:
计算目标文件的代码指标时发生错误 项目中的“ .dll”。可以 无法识别平台
一个坏消息是,这将无法在Visual Studio 2017中修复,但是它确实可以在Visual Studio 2019(当前的预览版2)中正常工作。
好消息,我设法使用Roslyn Analyzers github项目来计算指标。我克隆了仓库(https://github.com/dotnet/roslyn-analyzers.git)。然后构建解决方案。创建的工件之一是路径<your dev root>\roslyn-analyzers\artifacts\bin\Metrics\Debug\net46\Metrics.exe
打开命令提示符并运行Metrics.exe
会产生有用的帮助文本。记住要指定一个项目或sln文件以及/out:<metrics fine name>.xml
Usage: Metrics.exe <arguments>
Help for command-line arguments:
/project:<project-file> [Short form: /p:<project-file>]
Project(s) to analyze.
/solution:<solution-file> [Short form: /s:<solution-file>]
Solution(s) to analyze.
/out:<file> [Short form: /o:<file>]
Metrics results XML output file.
/quiet [Short form: /q]
Silence all console output other than error reporting.
/help [Short form: /?]
Display this help message.
这将生成一个相当笨拙的XML文件,然后可以对其进行解析以提取您要遵循的指标。这有点痛苦,但是对我来说却很有效,因为我只想在一个相当广泛的.Net Core 2代码库上进行一次性分析。