You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SonarQube 6.7未展示C#代码问题求助

解决SonarQube 6.7不展示C#分析结果的问题

我之前也碰到过几乎一模一样的情况,结合你的环境(Ubuntu上的Jenkins 2.89.2、独立部署的SonarQube 6.7、Sonar C# 6.8.1插件),给你几个实用的排查和解决方向:

1. 核对SonarScanner的执行流程与参数

Ubuntu环境下分析C#项目,必须用SonarScanner for MSBuild(或适配.NET的扫描器),且严格遵循三步执行流程,别直接用通用SonarScanner:

# 第一步:初始化分析,指定项目标识、Sonar地址等
dotnet sonarscanner begin /k:"你的项目唯一Key" /d:sonar.host.url="http://你的SonarQube服务器地址" /d:sonar.login="你的Sonar令牌"
# 第二步:必须执行项目构建,C#分析依赖编译过程生成的中间文件
dotnet build  # 若用Framework项目,需用mono执行msbuild
# 第三步:结束分析并上传结果到SonarQube
dotnet sonarscanner end /d:sonar.login="你的Sonar令牌"

另外要确保Ubuntu上已正确安装.NET Core SDK或Mono,没有这些环境的话,C#项目无法编译,Sonar也拿不到分析数据。

2. 验证SonarQube的C#插件状态

登录SonarQube后台,进入Administration > Marketplace,确认:

  • Sonar C# 6.8.1插件已安装且处于启用状态
  • 插件版本与SonarQube 6.7兼容(官方文档里SonarQube 6.7最高适配C#插件6.8.1,这个版本是匹配的,但还是要确认插件没有损坏)

3. 深挖日志找异常

  • 查看Jenkins的构建日志,搜索C#、sonar.cs关键词,看有没有类似No C# files were analyzed或Failed to import C# report的错误提示
  • 登录SonarQube服务器,检查$SONARQUBE_HOME/logs/sonar.log和$SONARQUBE_HOME/logs/web.log,排查是否有接收C#分析结果时的报错

4. 检查分析范围是否排除了C#文件

  • 进入项目的SonarQube设置:Project Settings > General Settings > Analysis Scope,确认Exclusions列表里没有误加*.cs规则
  • 同时检查Jenkins扫描参数里有没有设置sonar.exclusions或sonar.cs.exclusions,这些参数会覆盖全局配置

5. 注意Ubuntu的大小写敏感性

Ubuntu是大小写敏感系统,如果你的扫描配置里写的是*.CS,但实际文件是*.cs,会导致SonarScanner识别不到C#文件,务必保证路径、文件名的大小写和实际一致。


内容的提问来源于stack exchange,提问作者Graham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:42:03