如何修复日志文件中的"Fixed invalid Code Analysis ErrorLog file"(由SonarQube扫描仪报告)?



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

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

此Jenkins服务器上没有Visual Studio。我只是在使用MSBuild(14.0.25123.0-这应该是VS 2015 Update 2的版本)和"SonarQube scanner for MSBuild 2.0"。SonarQobe是5.3,Sonar C#插件5.1-RC3

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

MSBuild扫描程序有特殊的大小写代码来检测和修复无效的json,这样就可以解析错误日志并上传文件。特殊情况代码非常具体,因为它只会尝试修复v1.0编译器生成的json文件(当错误日志头具有productVersion=1.0.0toolName=Microsoft(R)Visual C#编译器时)。

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

您看到的消息强烈表明您的构建使用的是Roslyn v1.0,这很奇怪,因为Roslyn 1.2附带了MSBuild 14.0.25123.0。检查正在生成的错误日志文件中的productVersion

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

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

相关内容

最新更新