【问题标题】:How do I fix "Fixed invalid Code Analysis ErrorLog file" in log file (reported by SonarQube scanner)?如何修复日志文件中的“修复无效代码分析错误日志文件”(由 SonarQube 扫描仪报告)?
【发布时间】:2016-07-29 15:09:28
【问题描述】:

我正在为 Jenkins 服务器上的 C# 项目运行 SonarSource 分析。 日志显示了其中几条消息:

修复了无效的代码分析错误日志文件。请检查是否安装了 VS 2015 Update 1(或更高版本)。

此 Jenkins 服务器上没有 Visual Studio。我只是在使用 MSBuild(14.0.25123.0 - 这应该是您通过 VS 2015 Update 2 获得的版本)和“MSBuild 2.0 的 SonarQube 扫描仪”。 SonarQube 是 5.3,Sonar C# 插件 5.1-RC3

【问题讨论】:

    标签: c# .net jenkins msbuild sonarqube


    【解决方案1】:

    Visual Studio 2015 附带的 Roslyn v1.0 版本 (Microsoft.CodeAnalysis.*) 有一个错误,这意味着编译器生成的 json 错误日志文件可能包含无效的 json。该错误已在 Visual Studio 2015 Update 1 随附的 Roslyn v1.1 中修复。

    MSBuild Scanner 具有特殊情况代码来检测和修复无效的 json,因此可以解析错误日志并上传文件。特殊情况代码非常具体,它只会尝试修复 v1.0 编译器生成的 json 文件(当错误日志标头具有 productVersion=1.0.0 em> 和 toolName=Microsoft (R) Visual C# Compiler)。

    您看到的错误消息指的是 Visual Studio 2015,因为这通常是用户获取编译器的方式,尽管真正的问题是正在使用的编译器版本。

    您看到该消息的事实强烈表明您的构建使用的是 Roslyn v1.0,这很奇怪,因为 MSBuild 14.0.25123.0 与 Roslyn v1.2 一起提供。检查正在生成的错误日志文件中的 productVersion

    此外,尝试在打开诊断日志记录的情况下运行构建(例如,通过将 /v:diag 作为命令行参数传递给 MSBuild)。详细输出将包括正在使用的 Microsoft.Build.Tasks.CodeAnalysis.dll 的位置;检查dll的版本,以及同一目录下的Microsoft.CodeAnalysis.dll文件的版本。

    【讨论】:

      【解决方案2】:

      您是否尝试过通过官方Jira tracker 提出问题?我认为这将是获得有关 C# SonarQube 插件反馈的最有效方式。

      【讨论】:

      • 谢谢,@luka5z。根据 SonarQube google group 的说法,应该在 StackOverflow 上询问类似这样的支持问题并标记为“sonarqube”,这就是我这样做的原因。如果我在这里没有得到答案,我会尝试其他方式。
      猜你喜欢
      • 1970-01-01
      • 2019-07-11
      • 2013-05-02
      • 2015-10-02
      • 2021-09-13
      • 2012-09-09
      • 2020-06-06
      • 2017-08-25
      • 2018-09-08
      相关资源
      最近更新 更多