2017-01-16 2 views
5

Мы используем сканер SonarQube для MSBuild (1.1.0.0) и имеем решение, содержащее несколько проектов.Как исключить отдельные файлы при использовании MSBuild Scanner

В корневой папке решения есть SonarQube.Analysis.xml, который мы поставляем сканерам cli.

<SonarQubeAnalysisProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1"> 
    <Property Name="sonar.cs.opencover.reportsPaths">output/nunit-coverage.xml</Property> 
    <Property Name="sonar.cs.nunit.reportsPaths">output/nunit-result.xml</Property> 

    <Property Name="sonar.exclusions">Project1/Migrations/*</Property> 
    <Property Name="sonar.coverage.exclusions">Project1/Migrations/*</Property> 
</SonarQubeAnalysisProperties> 

Теперь проблема: Project1/Migrations/* кажется, чтобы не исключается, так как Base dir установлен в .../Project1 во время сканирования. То же самое происходит для всех других проектов в решении. В результате .../Project1/Project1/Migrations/* - это неизвестный путь.

Итак, какой рекомендуемый способ исключить весь каталог из покрытия и анализа исходного кода при использовании MSBuild Scanner?

ответ

2

Попробуйте поставить исключения в файле проекта (.csproj) само по себе, что-то вроде:

<ItemGroup> 
    <SonarQubeSetting Include="sonar.exclusions"> 
      <Value>**/Migrations/*</Value> 
    </SonarQubeSetting> 
</ItemGroup> 

См Appendix 2: Configuring the SonarQube Scanner for MSBuild.

+0

спасибо. Это может работать, но я не хочу, чтобы SonarQube привязывал настройки к моим файлам проекта. – philipooo

Смежные вопросы