![](/img/trans.png)
[英]SonarQube analysis with MSBuild: Line is out of range in file
[英]SonarQube analysis of C# file failing: References to a line number not present in the file
通过GitLab的CI系统运行声纳分析时,在SonarQube扫描过程的最后阶段发生了一个有趣的失败:
进行此过程的Gitlab从机具有以下配置:
使用的SonarQube服务器的版本是6.4
似乎Sonar扫描程序仍在使用该文件的较旧版本,该行的行数比较新版本的要多。 之前,我通过删除Gitlab运行程序中建立的缓存解决了此问题,但是这次删除缓存没有效果。 谷歌搜索此错误并没有让我到任何地方(或者我的Google Fu很弱)。 这似乎仅与该特定项目有关,因为对其他dotnet核心项目的SonarQube分析在同一系统上运行良好。
任何指针/帮助/解释将不胜感激。
编辑:此问题是由文件的编码(带BOM的UTF-8)引起的。 将编码更改为UTF-8后,错误消失了。 非常感谢SonarSource团队的Valeri 指出了这一点
当项目中一个或多个文件的编码对SonarQube“意外”时,通常会发生此错误。 SonarC#的最新版本将打印破坏分析的文件名,您可以使用其他编码保存该文件,通常不带BOM的UTF8效果最佳。
这个问题相对少见,但是我认为您是对的,应该在我们的文档中占有一席之地。 我将创建一个页面,并使用链接更新答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.