MSBuild 的 SonarQube 扫描器未分析 C# 代码
C# code is not analysed by SonarQube scanner for MSBuild
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 代码一起运行良好。
我们正在使用:
- SonarQube 6.7.5
- 詹金斯 2.74
- Jenkins 2.6.1 的 SonarQube 插件
- 适用于 MSBuild 3.0.2 的 SonarQube 扫描器
- MSBuild 14
- SonarC# 6.2
我们关注了:
这是我的 jenkins 构建的配置(vanilla):
在构建日志中,我们发现:
- La cible "RunCodeAnalysis" repertoriée dans un attribut BeforeTargets à "D:\Program Files (x86)\Jenkins\workspace\NouveauProjet.sonarqube\bin\targets\SonarQube.Integration.targets (356,11)" n'existe pas dans le projet et sera ignorée。
- 警告:无法修复代码分析错误日志文件。请检查是否安装了 VS 2015 Update 1(或更高版本)。
第一个警告与 FxCop 相关,可能意味着 FxCop 未安装在您的构建计算机上。不会影响Roslyn分析。
第二个警告是相关的。 Roslyn 分析报告以 json 文件形式编写。但是,Roslyn 的 v1 在某些情况下会产生无效的 json。扫描程序检查文件是否有效 json,如果无效则尝试更正它。
此警告表明正在执行分析,但正在生成扫描程序无法修复的无效文件。检查生成的 json 报告是否确实有效 json。 MSBuild 15 有较新版本的 Roslyn,没有这个问题。
[更新] MSBuild 15 与 Visual Studio 2017 的构建工具一起安装,可用 here
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 代码一起运行良好。
我们正在使用:
- SonarQube 6.7.5
- 詹金斯 2.74
- Jenkins 2.6.1 的 SonarQube 插件
- 适用于 MSBuild 3.0.2 的 SonarQube 扫描器
- MSBuild 14
- SonarC# 6.2
我们关注了:
这是我的 jenkins 构建的配置(vanilla):
在构建日志中,我们发现:
- La cible "RunCodeAnalysis" repertoriée dans un attribut BeforeTargets à "D:\Program Files (x86)\Jenkins\workspace\NouveauProjet.sonarqube\bin\targets\SonarQube.Integration.targets (356,11)" n'existe pas dans le projet et sera ignorée。
- 警告:无法修复代码分析错误日志文件。请检查是否安装了 VS 2015 Update 1(或更高版本)。
第一个警告与 FxCop 相关,可能意味着 FxCop 未安装在您的构建计算机上。不会影响Roslyn分析。
第二个警告是相关的。 Roslyn 分析报告以 json 文件形式编写。但是,Roslyn 的 v1 在某些情况下会产生无效的 json。扫描程序检查文件是否有效 json,如果无效则尝试更正它。
此警告表明正在执行分析,但正在生成扫描程序无法修复的无效文件。检查生成的 json 报告是否确实有效 json。 MSBuild 15 有较新版本的 Roslyn,没有这个问题。
[更新] MSBuild 15 与 Visual Studio 2017 的构建工具一起安装,可用 here