Код C # не анализируется сканером SonarQube для MSBuild - PullRequest
0 голосов
/ 04 сентября 2018

SonarQube подсчитывает строки c # в наших проектах, рассчитывает покрытие и дубликаты, но не проверяет наличие проблем или запахов кода. Например, следующий глупый код не генерирует никакого запаха кода:

public static bool Silly()
        {
            int neverUsed = 0;
            var foo = false;
            foo = !!foo;
            var bar = "toto";
            bool isTrue = true;
            int one = 0;
            if (isTrue)
            {
                one = 1;
            }
            System.Console.WriteLine(one);
            if (bar != null & bar.Substring(0, 2).Equals("to"))
                return true;
            return false;
        }

Мы проверили профиль качества c # (vanilla Sonar Way). Нет исключения из файла. Анализ хорошо работает с кодом JavaScript.

Мы используем:

  • SonarQube 6.7.5
  • Дженкинс 2,74
  • Плагин SonarQube для Jenkins 2.6.1
  • Сканер SonarQube для MSBuild 3.0.2
  • MSBuild 14
  • SonarC # 6.2

Мы следовали:

Вот конфигурация моей сборки jenkins (vanilla):

enter image description here

В журнале сборки мы нашли:

  • Доступная версия "RunCodeAnalysis" не содержит атрибутов "Задания до": "D: \ Program Files (x86) \ Jenkins \ workspace \ NouveauProjet.sonarqube \ bin \ target \ SonarQube.Integration.targets (356,11)" n'existe pas dans le projet et sera ignorée.
  • ВНИМАНИЕ: не удалось исправить файл CodeLog Error Analysis. Убедитесь, что VS 2015 Update 1 (или более поздней версии) установлен.

1 Ответ

0 голосов
/ 06 сентября 2018

Первое предупреждение относится к FxCop и, вероятно, означает, что FxCop не установлен на вашем компьютере сборки. Это не повлияет на анализ Рослина.

Второе предупреждение актуально. Аналитические отчеты Roslyn записываются в виде файлов JSON. Тем не менее, v1 Roslyn в некоторых случаях выдает недействительный json. Сканер проверяет, является ли файл допустимым json, и если нет, пытается его исправить.

Это предупреждение говорит о том, что анализ выполняется, но выдает неверный файл, который сканер не может исправить. Убедитесь, что созданный отчет JSON является действительным JSON. MSBuild 15 имеет более новую версию Roslyn, в которой нет этой проблемы.

[Обновление] MSBuild 15 устанавливается с инструментами сборки для Visual Studio 2017, доступно здесь

...