如何为具有多个项目的.net解决方案执行MSBuild.SonarQube.Runner?

时间:2016-04-22 15:57:18

标签: .net sonarqube sonarqube-5.4

我已使用以下设置SonarQube:sonarqube-5.4MSBuild.SonarQube.Runner-2.0,VS 2013(目标.NET Framework 4.5.1),SQL Server 2014 Express,Windows 7 Professional SP1 64位操作系统。< / p>

我能够成功执行一个.NET项目(.csproj)的sonarqube runner并生成结果。现在,我想为具有许多.csproj条目的.NET解决方案(.sln)执行MSBuild.SonarQube.Runner-2.0

文件夹结构如下:

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 Code Analysis?

1 个答案:

答案 0 :(得分:2)

此处几乎涵盖了单元测试排除的例外情况。

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 UI中的正则表达式完成的:管理 - >扫描程序用于MSBuild。将此正则表达式更改为与测试项目不匹配的内容将导致它们被包含在内。

相关问题