gpt4 book ai didi

c# - 配置 SonarQube 以识别 C# 6.0 语法

转载 作者:行者123 更新时间:2023-11-30 23:24:41 25 4
gpt4 key购买 nike

我正在设置我们的 TeamCity 构建以对我们的 C# 解决方案运行 SonarQube 分析。通过使用 -Dsonar.sourceEncoding=UTF-8 让 Sonar 识别我们文件中的 utf-8 BOM header ,我已经克服了一个障碍。我当前的问题与 C# 6.0 语法有关,例如字符串插值,Sonar 似乎无法识别它并给我“解析错误”:

[09:38:39][Step 4/6] 04:38:39.338 ERROR - Unable to parse file: C:\BuildAgent\work\.........\DataLayerTests.cs
[09:38:39][Step 4/6] 04:38:39.338 ERROR - Parse error at line 44 column 46:
[09:38:39][Step 4/6]
[09:38:39][Step 4/6] 43: Assert.IsNotNull(results, "The method returned NULL instead of any results.");
[09:38:39][Step 4/6] --> Assert.AreEqual(1, results.Count, $"The method returned {results.Count} results instead of 1.");

是否有任何额外的命令行参数需要与 sonar-runner 一起使用以确保兼容性?或者这是否与我们使用的 C# 插件版本有关?

我找到了这个 other问题,这只是切线相关。这个问题是关于使 Roslyn 分析器发现的问题能够回流到 SonarQube。我的问题比这更基本,因为我还没有达到 Sonar 完全理解我的语法的阶段!

最佳答案

C# 插件已在 3.4 版中重写以在内部使用 Roslyn。因此,任何更高版本都将处理(解析)C# 6 功能。此外,我建议更新到最新版本,因为我们会不断添加新规则并修复已知问题。

可以查看版本历史here .

关于c# - 配置 SonarQube 以识别 C# 6.0 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37640241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com