сонар msbuild запускается из Jenkins: должен быть установлен sonar.cs.fxcop.assembly - PullRequest
0 голосов
/ 07 мая 2018

Я прошел предыдущие вопросы по теме, но какой бы ответ ни был дан, мне кажется, что он не работает

Моя настройка - Microsoft Visual Studio Community 2017 установлен - Сервер SonarQube Версия 5.6.2 - Сканер SonarQube MSbuild: 4.2.0.1214

журнал, который я получаю при запуске

Датчик org.sonar.plugins.csharp.CSharpSensor (сделано) | время = 2847ms ИНФОРМАЦИЯ: Датчик org.sonar.plugins.csharp.CSharpFxCopProvider $ CSharpFxCopSensor ИНФОРМАЦИЯ: ------------------------------------------------ ------------------------ ИНФОРМАЦИЯ: СБОЙ ИСПОЛНЕНИЯ ИНФОРМАЦИЯ: ------------------------------------------------ ------------------------ ИНФОРМАЦИЯ: Общее время: 17.829 с ИНФОРМАЦИЯ: Окончательная память: 21M / 421M ИНФОРМАЦИЯ: ------------------------------------------------ ------------------------ ОШИБКА: ошибка во время выполнения сканера SonarQube ОШИБКА: необходимо установить свойство sonar.cs.fxcop.assembly, и проект должен быть построен для выполнения правил FxCop. Это свойство может быть автоматически установлено плагином Analysis Bootstrapper for Visual Studio Projects, см .: http://docs.codehaus.org/x/TAA1Dg.If если вы хотите пропустить анализ не построенных проектов, установите свойство "sonar.visualstudio.skipIfNotBuilt".

Что я не знаю, так это - Как я узнаю, что fxcop включен в процессе сборки, если это имеет смысл, и если что-то нужно делать? - почему я получаю это сообщение об ошибке, когда все сообщения, которые я видел, имеют тенденцию говорить «этого не должно происходить при использовании sonar msbuild и visual studio»

спасибо

1 Ответ

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

История поддержки FxCop немного сложна и зависит от того, какую версию плагина SonarC # вы используете и какую версию Scanner for MSBuild вы используете. Встроенная поддержка FxCop в плагине / сканере SonarC # для MSBuild в течение некоторого времени устарела и была окончательно удалена из сканера для MSBuild в версии 4.0 .

Как узнать, что fxcop включен в процессе сборки?

Проверьте, какие плагины вы установили на сервере SonarQube. Я предполагаю, что у вас либо установлена ​​старая версия плагина SonarC # (pre-v5.4), либо установлен плагин сообщества FxCop. Кроме того, если вы посмотрите на Профиль качества для вашего проекта, то увидите, что некоторые из правил в репозитории FxCop / Code Analysis C # включены.

Вам решать, хотите ли вы запускать правила FxCop как часть вашей сборки или нет. Плагин SonarC # теперь изначально реализует все наиболее полезные правила FxCop, поэтому рекомендуемый SonarSource подход заключается в простом использовании плагина SonarC # для новых проектов.

Если вы используете сканер v4 или новее для MSBuild и хотите загружать проблемы FxCop, проверьте, установлена ​​ли у вас последняя версия плагина FxCop Community, и следуйте инструкциям в Использование со сканером SonarQube для MSBuild. v4.0 раздел Readme для плагина.

Если вы не хотите загружать проблемы FxCop для этого конкретного проекта, вы можете отключить все правила FxCop в Профиле качества. Если вас не интересует проблема FxCop для какого-либо проекта, вы можете удалить плагин FxCop, если он установлен, и обновить его до более новой версии плагина SonarC # (примечание: SonarQube 5.6.2 довольно старая версия, поэтому вы не сможет установить новейшую версию плагина SonarC #, если вы сначала не обновите сервер SonarQube).

...