C# SonarQube扫描仪未分析MSBuild的C代码

C# SonarQube扫描仪未分析MSBuild的C代码,c#,jenkins,msbuild,sonarqube,sonarqube-scan,C#,Jenkins,Msbuild,Sonarqube,Sonarqube Scan,SonarQube统计项目中的c#行,计算覆盖率和重复,但不检查问题或代码气味。 例如,以下愚蠢的代码不会产生任何代码气味: public static bool Silly() { int neverUsed = 0; var foo = false; foo = !!foo; var bar = "toto"; bool isTrue = true;

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#质量状况(普通声纳方式)。没有文件排除。该分析在javascript代码中运行良好

我们正在使用:

  • SonarQube 6.7.5
  • 詹金斯2.74
  • 适用于Jenkins 2.6.1的SonarQube插件
  • 用于MSBuild 3.0.2的SonarQube扫描仪
  • MSBuild 14
  • 声纳C#6.2
我们遵循:

这里是我的jenkins构建的配置(香草):

在构建日志中,我们发现:

  • La cible“RunCodeAnalysis”répertoriée dans un attribute before targetsáD:\Program Files(x86)\Jenkins\workspace\NouvearupJet.sonarqube\bin\targets\sonarqube.Integration.targets(356,11)“不存在于项目和信号系统中
  • 警告:无法修复代码分析错误日志文件。请检查是否安装了VS 2015更新1(或更高版本)

第一个警告与FxCop有关,可能意味着您的生成计算机上没有安装FxCop。这不会影响Roslyn的分析

第二个警告是相关的。Roslyn分析报告以json文件的形式编写。然而,在某些情况下,Roslyn的v1生成了无效的json。扫描程序检查文件是否为有效的json,如果不是,则尝试更正它

此警告表示正在执行分析,但正在生成扫描仪无法修复的无效文件。检查生成的json报告是否实际有效。MSBuild 15的更新版本的Roslyn没有此问题


[更新]MSBuild 15随Visual Studio 2017的生成工具一起安装,可用

第一个警告可能意味着您的生成计算机上未安装FxCop。无论如何,这都不会影响Roslyn的分析。第二个警告是相关的。Roslyn分析报告以json文件的形式编写。然而,在某些情况下,Roslyn的v1生成了无效的json。扫描程序检查文件是否为有效的json,如果不是,则尝试更正它。此警告表示正在执行分析,但生成了扫描仪无法修复的无效文件。检查生成的json报告是否实际有效。MSBuild 15的更新版本的Roslyn没有此问题。@Duncan就是这样!要单独安装MSBuild 15,我们必须安装VS构建工具。非常感谢你。你应该把你的评论作为回答。没问题,很高兴它起作用了。我将把评论转移到一个答案。谢谢