Сбой TeamCity с SonarQube для анализа кода - PullRequest
0 голосов
/ 21 мая 2018

Очень распространенная проблема для многих пользователей, когда анализ кода SonarQube завершается с ошибкой:

[10:06:05]No ProjectInfo.xml files were found. Possible causes: 
[10:06:05]1. The project has not been built - the end step was called right 
after the begin step, without a build step in between 
[10:06:05]2. An unsupported version of MSBuild has been used to build the 
project. Currently MSBuild 12.0 upwards are supported
[10:06:05]3. The build step has been launched from a different working folder
[10:06:05]Post-processing failed. Exit code: 1
[10:06:05]Process exited with code 1

Многие упоминают, что исправление заключается в использовании полного пути для MSBuild.exe, но да, я используюполный путь, но я также использую версию MSBuild 15.0 с новейшей версией C #, старая версия MSBuild просто не работает для новых функций C # в коде.

Однако я не могу избавиться от этой ошибки и понятия не имею, что может бытьпокончим с этим, так что, возможно, кто-нибудь из вас, ребята, уже сталкивался с этой проблемой и мог бы помочь мне?

РЕДАКТИРОВАНИЕ

Я почти уверен, что ни один из этих шагов не должен бытьпричина сбоя, вторая только самая близкая, потому что мои шаги сборки:

Этапы сборки Team City выглядят следующим образом.

Шаг XX:

cd %projectDirectory%
"C:\sonarqube-5.3\bin\MSBuild.SonarQube.Runner\MSBuild.SonarQube.Runner.exe" begin   ... params
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe" "MyProject.sln" /t:Clean;Rebuild

Шаг XY:

...

Шаг XZ: (последний)

cd %projectDirectory%
"C:\sonarqube-5.3\bin\MSBuild.SonarQube.Runner\MSBuild.SonarQube.Runner.exe" end

Для меня это выглядит очень просто и легко понять, но все же я получил эту ошибку, и у меня естьне знаю почему, ошибка выдается на последнем шаге (XZ).

1 Ответ

0 голосов
/ 22 мая 2018

Вам необходимо перейти на более новую версию Scanner for MSBuild.Я бы предложил обновить до последней доступной версии (v4.2 на момент написания).

Сканер копирует целевой файл в следующем расположении для каждой поддерживаемой версии MBuild:% localappdata% \ Microsoft \MSBuild [версия MSBuild] \ Microsoft.Common.targets \ ImportBefore.

Судя по выводу журнала, вы используете версию Scanner для MSBuild, которая предшествует выпуску MSBuild 15, поэтому файл не будет скопирован в местоположение, специфичное для MSBuild15.Это приведет к состоянию «файлы ProjectInfo.xml не найдены».

Было бы лучше, если бы в предупреждающем сообщении в журнале сканера был явно указан диапазон поддерживаемых версий MSBuild, например «Эта версияСканер поддерживает MSBuild v12.0 до v14.0 ".Я создал выпуск # 502 , чтобы отследить это.

...