如何为具有多个项目的.net解决方案执行MSBuild.SonarQube.Runner?
我已使用以下软件安装SonarQube:如何为具有多个项目的.net解决方案执行MSBuild.SonarQube.Runner?,.net,sonarqube,sonarqube-5.4,.net,Sonarqube,Sonarqube 5.4,我已使用以下软件安装SonarQube:SonarQube-5.4,MSBuild.SonarQube.Runner-2.0,VS 2013(目标.NET Framework 4.5.1),SQL Server 2014 Express,Windows 7 Professional SP1 64位操作系统 我能够成功地为一个.NET项目(.csproj)执行sonarqube runner并生成结果。现在,我想为具有许多.csproj条目的.NET解决方案(.sln)执行MSBuild.Sona
SonarQube-5.4
,MSBuild.SonarQube.Runner-2.0
,VS 2013(目标.NET Framework 4.5.1),SQL Server 2014 Express,Windows 7 Professional SP1 64位操作系统
我能够成功地为一个.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
你能在以下方面帮我吗
这里几乎涵盖了所有这些,但单元测试除外 要运行整个解决方案,您应该能够从根文件夹中运行以下内容:
MSBuild.SonarQube.Runner.exe begin // Other args
msbuild /t:Rebuild Project.sln
MSBuild.SonarQube.Runner.exe end
至于你的单元测试问题。大多数人选择不在项目中包含测试代码。这是通过sonarqube UI:Administration->Scanner for MSBuild中的正则表达式完成的。将此正则表达式更改为与您的测试项目不匹配的内容将导致它们被包括在内。感谢您的回复,我也这样做了。我添加了regex“/.Tests/”以排除测试项目(ProjectABC.Tests.csproj、ProjectXYZ.Tests.csproj等),但测试项目仍在评估中,然后分析失败。如何从执行中排除测试项目?默认正则表达式应排除具有指定名称的测试。将其更改回默认值,并在没有任何专有内容的情况下发布到runner输出的链接。