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