Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为具有多个项目的.net解决方案执行MSBuild.SonarQube.Runner?_.net_Sonarqube_Sonarqube 5.4 - Fatal编程技术网

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

如何为具有多个项目的.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:
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
你能在以下方面帮我吗

  • 如何执行.sln文件-需要进行哪些输入/设置
  • 如何跳过单元测试项目
  • 如何包含单元测试项目
  • 如何执行VS代码分析

  • 这里几乎涵盖了所有这些,但单元测试除外

    要运行整个解决方案,您应该能够从根文件夹中运行以下内容:

    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输出的链接。