【问题标题】:C# code is not analysed by SonarQube scanner for MSBuild用于 MSBuild 的 SonarQube 扫描仪未分析 C# 代码
【发布时间】:2019-02-09 11:31:40
【问题描述】:

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 构建的配置(原版):

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

  • La cible "RunCodeAnalysis" répertorié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。无论哪种方式,它都不会影响 Roslyn 分析。第二个警告是相关的。 Roslyn 分析报告以 json 文件形式编写。但是,Roslyn 的 v1 在某些情况下会产生无效的 json。扫描程序检查文件是否为有效的 json,如果不是,则尝试更正它。此警告表明正在执行分析,但生成了扫描仪无法修复的无效文件。检查生成的 json 报告实际上是有效的 json。 MSBuild 15 的更新版本的 Roslyn 没有此问题。
  • @duncanp 就是这样!要单独安装 MSBuild 15,我们必须安装 VS Build Tools。非常感谢。您应该发表您的评论作为答案。
  • 没问题 - 很高兴它成功了。我会将评论移至答案。谢谢!

标签: c# jenkins msbuild sonarqube sonarqube-scan


【解决方案1】:

第一个警告与 FxCop 相关,可能意味着您的构建机器上未安装 FxCop。它不会影响 Roslyn 分析。

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

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

[更新] MSBuild 15 与 Visual Studio 2017 的构建工具一起安装,可用 here

【讨论】:

    猜你喜欢
    • 2017-04-27
    • 2018-07-04
    • 2017-03-24
    • 2018-05-12
    • 2017-04-27
    • 2021-01-09
    • 2017-08-28
    • 2017-09-05
    • 2018-03-17
    相关资源
    最近更新 更多