SonarQube计算项目中的c#行,计算覆盖率和重复,但不检查问题或代码味道。例如,以下愚蠢的代码不会产生任何代码气味:
public static bool Silly()
{
int neverUsed = 0;
var foo = false;
foo = !!foo;
var bar = "toto";
bool isTrue = true;
int one = 0;
if (isTrue)
{
one = 1;
}
System.Console.WriteLine(one);
if (bar != null & bar.Substring(0, 2).Equals("to"))
return true;
return false;
}
我们检查了c#质量配置文件(vanilla Sonar Way)。没有文件排除。该分析适用于JavaScript代码。
我们正在使用:
我们遵循:
在这里我的jenkins构建配置(vanilla):
在构建日志中,我们发现:
第一个警告与FxCop有关,可能意味着您的构建计算机上未安装FxCop。它不会影响Roslyn分析。
第二个警告是相关的。 Roslyn分析报告被写为json文件。但是,在某些情况下,Roslyn的v1产生了无效的json。扫描程序检查文件是否有效json,如果没有尝试更正它。
此警告表明正在执行分析,但正在生成扫描程序无法修复的无效文件。检查生成的json报告实际上是否有效json。 MSBuild 15有一个较新版本的Roslyn没有这个问题。
[更新] MSBuild 15随Visual Studio 2017的Build Tools一起安装,可用here