【发布时间】:2017-06-13 15:59:30
【问题描述】:
我有一个使用 c# 4.0 设计的 Visual Studio 解决方案。
我想检查我的解决方案的代码质量并从中生成报告。
我尝试了 FxCop,也得到了报告,但我需要类似这样的报告(来自图像)。
规则合规率为 85%,但在 FxCop 中只显示关键、错误等。
我什至无法将我的项目部署到 SONAR,因为我遇到了一些超时问题
为我在解决方案中的一个项目而来。
请有人帮助我。
提前致谢。
问候,
鲁比尼
【问题讨论】:
我有一个使用 c# 4.0 设计的 Visual Studio 解决方案。
我想检查我的解决方案的代码质量并从中生成报告。
我尝试了 FxCop,也得到了报告,但我需要类似这样的报告(来自图像)。
规则合规率为 85%,但在 FxCop 中只显示关键、错误等。
我什至无法将我的项目部署到 SONAR,因为我遇到了一些超时问题
为我在解决方案中的一个项目而来。
请有人帮助我。
提前致谢。
问候,
鲁比尼
【问题讨论】:
我不知道 .NET 项目是否有与 SonarQube 等效的产品,但如果您真的想要这样的报告(我可以理解,很明显!),您应该询问有关如何解决 SonarQube 安装问题的问题而不是寻找其他东西。有很多组织使用 SonarQube 和 C# 插件成功地分析了大型 .NET 解决方案,所以它没有理由不适合您!
你可以在网上找到有用的材料来帮助你。例如,John M Wright 写的一篇关于 "setting up SonarQube for C# projects" 的博客文章。 John 会定期更新他的帖子,因此信息应该仍然非常相关。
【讨论】:
你试过NDepend这个工具吗?它生成有关 .NET 代码质量和代码规则合规性的交互式报告。这里有一些sample reports。
NDepend 也是集成在 Visual Studio(2017、2015、2013、2012、2010)中的工具,它提出了一系列交互功能(graph、dependency matrix、code metrics visualization、code diff...) .关于 NDepend 的另一点是代码规则实际上是 C# LINQ 查询,因此自定义 default code rule 或创建自己的代码规则非常容易。
NDepend 也 integrates in VS Team Services,您将从 VSTS UI 获取所有代码质量数据,而不是被重定向到服务器。
我了解到您在分析代码库时遇到超时问题,可能是因为您的代码库非常大。 NDepend 已经过优化,它可以分析一个非常大的代码库并在几十秒内创建一个报告(分析整个 .NET Fx 大约需要一分钟)。 A 14 days full featured trial is available.
免责声明:我在 NDepend 团队工作
【讨论】:
如果您还没有,我建议您阅读我的博客文章,了解为 C# 项目设置 SonarQube:http://www.wrightfully.com/setting-up-sonar-analysis-for-c-projects/
解决问题的关键是确定超时发生时系统在做什么。查看您的日志文件并查看超时之前的最后几行。可能是您的代码很复杂,只是需要更多时间,在这种情况下,您可以调整当时正在运行的任何工具的超时值。
否则,当超时发生在 SonarQube 之外时,我建议运行正在运行的任何分析工具(fxcop、宪兵、sytlecop 等)。也就是说,直接从命令行运行该工具以查看它是否仍然超时或在控制台上提供任何其他信息。
另外,假设您使用 sonar-runner 工具执行 SonarQube 分析,您可以将 -X 参数添加到命令行,这将在启用调试级别日志记录的情况下运行它。这将创建更多日志消息,这可能会进一步说明问题。
【讨论】: