Я настраиваю сборку TeamCity для выполнения анализа SonarQube нашего решения C#. Я уже преодолел один барьер, используя -Dsonar.sourceEncoding=UTF-8
, чтобы позволить Sonar распознавать заголовок спецификации utf-8 в наших файлах. Моя нынешняя проблема связана с C# 6.0 синтаксиса, как интерполяции строк, которые, кажется, не распознаются Sonar и дает мне «ошибку разбору»:Настройка SonarQube для распознавания синтаксиса C# 6.0
[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# вы используете? Почему вы имеете дело непосредственно с 'sonar-runner'? Почему вы не используете [SonarQube Scanner для MSBuild] (http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild)? – Tamas
Мы используем SonarQube 4.5.6 с версией 3.2 плагина C#. Мы вызываем Runner SonarQube через шаг сборки в TeamCity, поэтому моя ссылка на 'sonar-runner' (TeamCity вызывает это автоматически). –
Я вижу. Это очень старый плагин C# (pre-Roslyn). Обновление до последней версии (или версии 3.4+) позволило бы решить проблемы C# 6. Ознакомьтесь с версиями здесь: https://jira.sonarsource.com/browse/SONARCS/?selectedTab=com.atlassian.jira.jira-projects-plugin:versions-panel – Tamas