Как исключить / игнорировать анализ ссылочных проектов из SoanrQube

У меня есть решение, которое имеет три проекта (X,Y,Z). Z упоминается в Y, Y в X . Когда я запускаю Анализ с MSBuild SonarQube Runner в проекте X, он также анализирует Y и Z. Есть ли у нас какое-либо решение для игнорирования рекурсивного анализа?

Примечание: я не могу разбить файл решения на несколько файлов решения и ссылаться на DLL, а не на проекты.

3 ответа

В эхолоте -> администрирование -> Общие параметры -> Область анализа установите "Исключения из исходного файла" следующим образом: file:**/ProjectName/* * (без пробелов между * *) https://i.gyazo.com/ad78d4db8c0bda657d67d17a9c6e78d9.png

Вы можете статически пометить отдельные проекты как включенные / исключенные, установив свойство в файле MSBuild. Смотрите онлайн документы здесь.

Если вы хотите сделать что-то более динамичное, взгляните на приложение расширенной конфигурации.

Вы можете добавить тег в ProjectReference "Y" конфигурации вашего проекта "X".

<PropertyGroup Condition=" $(ProjectGuid) != '' AND $(SonarQubeExclude) == '' ">
    <SonarQubeExclude Condition="$(ProjectGuid) == 'C999E666-3666-9990-B666-9999E666' " >true</SonarQubeExclude>
</PropertyGroup>

Это должно быть добавлено в X-проекте, а идентификатор C999E666-3666... - это идентификатор, который вы хотите исключить.

Дополнительная информация по адресу: https://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/appendix-2.md

Другие вопросы по тегам