声纳没有报告错误c#

时间:2018-01-26 01:43:58

标签: sonarqube sonarqube-ops sonarqube-msbuild-runner

SonarC#6.7.1(build 4347) SonarQube版本6.7.1(版本35068)

质量配置文件:声纳方式(过时的副本),因为当前的Sonar Way质量配置文件根本不返回任何内容。

运行当前的MSBuild.SonarQube.Runner(SonarQube Scanner for MSBuild 4.0.2.892)仅报告Code Smells。没有报告任何漏洞或错误。

使用https://github.com/SonarSource/sonar-scanning-examples - CSharpProject进行测试。我已将上面质量配置文件中的错误添加到代码中,但它们从未报告过。我已经尝试过与其他CS项目相同的结果。

是否有任何已知问题报告C#的漏洞/错误?是否需要任何其他配置才能将此信息报告回SonarQube?

1 个答案:

答案 0 :(得分:0)

这不是一个已知问题,我无法使用相同版本的扫描程序,C#插件和干净安装的SonarQube 6.7.1来重现它。 分析示例项目报告了一个错误(csharpsquid:S2583,Program.cs第9行)和一个代码异味(csharpsquid:S1118,Program.cs第4行)。

扫描程序用于MSBuild的代码气味,错误和漏洞都以相同的方式处理 - 它们都只是应用了不同类别的Roslyn问题。无需其他配置。

我猜你已经从较旧版本的SonarQube迁移了,因为你有一个过时的SonarWay。但是,这不应该对报告问题产生任何影响。默认SonarWay中包含的规则可能会在不同版本之间发生变化,但您已经检查了您知道的活动QP中的规则。

如果您还没有,可以尝试安装SonarLint for VS并检查它是否正确检测到您注入代码中的错误。

其他选择:

  • .sonarqube \ conf文件将包含一个规则集文件,显示扫描程序正在执行哪些规则。检查包含预期规则。
  • 每个项目的bin目录将包含一个XXX.RoslynCA.json文件,其中包含构建期间检测到的所有问题。检查它们是否包含预期的问题。
  • 检查控制台日志中是否有错误或警告。您还可以通过在 Begin 步骤中的命令行上传递 /d:sonar.verbose=true 来增加记录输出的详细程度。