Как выполнить MSBuild.SonarQube.Runner для решения.net, которое имеет несколько проектов?

Я установил SonarQube со следующим: sonarqube-5.4, MSBuild.SonarQube.Runner-2.0, VS 2013 (целевой.NET Framework 4.5.1), SQL Server 2014 Express, 64-разрядная ОС Windows 7 Professional с пакетом обновления 1 (SP1).

Я могу выполнить Sonarqube Runner для одного проекта.NET (.csproj) успешно и сгенерировать результаты. Теперь я хотел бы выполнить MSBuild.SonarQube.Runner-2.0 для решения.NET (.sln), которое имеет много записей.csproj.

Структура папок выглядит следующим образом:

RootFolder имеет файл.sln, и каждый проект (.csproj) создается в отдельной папке внутри корневой папки. Модульные тесты для каждого проекта также создаются в отдельной папке внутри корневой папки. Например:

RootFolder -> Project.sln
RootFolder -> ProjectABCFolder -> ProjectABC.csproj
RootFolder -> ProjectABCTestsFolder -> ProjectABCTests.csproj
RootFolder -> ProjectXYZFolder -> ProjectXYZ.csproj
RootFolder -> ProjectXYZTestsFolder -> ProjectXYZTests.csproj

Можете ли вы помочь мне в следующем?

  1. Как выполнить файл.sln - какие обязательные записи / настройки нужно сделать?
  2. Как пропустить юнит тестовые проекты?
  3. Как включить проекты модульного тестирования?
  4. Как выполнить анализ кода VS?

1 ответ

Решение

Здесь почти все это покрыто исключением для исключения модульного теста.

http://docs.sonarqube.org/display/SCAN/From+the+Command+Line

Для запуска всего решения вы можете просто запустить следующее из вашего RootFolder:

MSBuild.SonarQube.Runner.exe begin // Other args
msbuild /t:Rebuild Project.sln
MSBuild.SonarQube.Runner.exe end

Что касается ваших вопросов модульного теста. Большинство людей предпочитают не включать тестовый код в проект. Это делается с помощью регулярных выражений в пользовательском интерфейсе sonarqube: Администрирование-> Сканер для MSBuild. Изменение этого регулярного выражения на то, что не соответствует вашим тестовым проектам, приведет к их включению.

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