我们有一个包含 5 个项目的解决方案。
运行 MSBuild 运行器后,我们的声纳只包含对一个项目的分析,而不是完整的解决方案。
执行:
cd K:\sonarRoot
D:\BuildTools\MSBSonarQubeRunner-1.0.2\MSBuild.SonarQube.Runner.exe begin /k:"solutionKey" /n:"solutionName" /v:"solutionVersion" /d:sonar.resharper.cs.reportPath="K:\<pathToXml>\resharper.xml" /d:sonar.resharper.solutionFile="K:\<pathToSolution>\solution.sln"
C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe K:\<pathToSolution>\solution.sln /t:rebuild /p:Configuration=Release /p:TargetFrameworkVersion="v4.5.2" /verbosity:n /flp1:logfile=D:\ModuleBuild\Workspace\builderrors.txt;errorsonly;append=true
D:\BuildTools\ReSharperCommandLineTools\inspectcode.exe "K:\<pathToSolution>\solution.sln" /o="K:\<pathToXml>\resharper.xml"
D:\BuildTools\MSBSonarQubeRunner-1.0.2\MSBuild.SonarQube.Runner.exe end > D:\ModuleBuild\Workspace\sonar.out 2> D:\ModuleBuild\Workspace\sonar.err
这一切都运行良好,除了 Sonar 中只显示一个解决方案......对于解决方案中不在项目中的每个文件,我们在运行器输出中得到一行,如下所示:
12:14:43.513 信息 - 在第 262 行跳过 ReSharper 问题,其文件“{pathToSource}\ChangeListHelper.cs”不在 SonarQube 中。
不知何故,从 MSBuild 运行器生成的 sonar-project.properties 包含项目的 sonar.projectname 而不是解决方案。并且 sonar.projectBasedir 也设置为项目。
我们应该如何解决它,以便分析完整的解决方案?