SonarQube 代码扫描项目代码行异常排查

1. 背景与问题

Windows下配置 SonarQube 服务器(超详细有相关问题解决方法)

在 SonarQube 中为.NET项目的代码库创建项目并进行代码扫描,分析成功完成,且结果成功显示到SonarQube 服务器。然而,仔细观察发现,项目中的扫描结果显示仅识别了 CSS 和 HTML 文件的代码行数,C# 代码及相关问题未被识别。
这表明扫描范围或配置存在问题,导致主要代码未被正确分析。
在这里插入图片描述

2. 解决方案

2.1 初步排查

根据官方建议,删除项目重新导入,并将扫描范围设置为全目录(sonar.sources=.),以确保所有文件被包含在扫描范围内。
重新扫描后,可看到所有文件被包含在内。确认问题并非由 SonarQube 配置错误导致。

2.2 日志分析

进一步分析扫描日志,发现部分项目未被扫描器识别。经排查,确认问题根源在于 SonarQube 中默认不会对 TestProject 进行分析,导致相关 C# 代码未被扫描。

2025-02-26T01:56:35.6712810Z 09:56:35.670 DEBUG: Adding file type information (has MAIN 'false', has TEST 'false') for project 'WebApi' (project key ‘projectKeyId' , base dir 'C:\agents\_work\4\s\WebApi'). For debug info, see ProjectInfo.xml in 'C:\agents\_work\4\.sonarqube\out\4.Razor'. ...

2.3 项目依赖排查

排查解决方案下的项目包引用,发现存在多余引用,可能干扰了扫描过程。
使用 AI 辅助工具快速排查所有项目的包依赖,定位到具体的冗余引用。
在这里插入图片描述

2.4 结果验证

删除多余引用后,重新进行代码扫描。重新扫描后,C# 代码及相关问题被成功识别,扫描结果恢复正常。

3. 总结

本次问题的根本原因是项目依赖关系中存在多余引用,导致 SonarQube 无法正确扫描 C# 代码。通过调整扫描配置、分析日志以及清理项目依赖,最终解决了问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值