声纳MSBuild转轮只能分析整个解决方案中的一个项目

时间:2015-12-18 13:47:44

标签: msbuild sonarqube sonar-runner sonarqube-msbuild-runner

我们有一个包含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

这一切都运行正常,只有一个解决方案出现在声纳中... 对于解决方案中不在项目中的每个文件,我们在运行器输出中得到一行,如下所示:

  

12:14:43.513 INFO - 在第262行跳过ReSharper问题   文件   &#34; {pathToSource} \ ChangeListHelper.cs&#34;是   不在SonarQube。

以某种方式,从MSBuild运行器生成的sonar-project.properties包含项目的sonar.projectname而不是解决方案。并且sonar.projectBasedir也设置为该项目。

我们应该如何修复它,以便分析完整的解决方案?

1 个答案:

答案 0 :(得分:0)

您的<pathToSolution>\Solution.sln可能包含*\test\*吗?默认配置忽略该正则表达式的项目。

如果,让我们说,除了那个项目之外的所有项目都在&#39; K:\myWork\thisSolution\test\ProjectAProjectB以及ProjectC 最后一个是 K:\myWork\thisSolution\app\ProjectD ProjectD是唯一被分析的人,那就是原因。

请参阅 MSBuild SonarQube runner in command line关于此主题的其他SO讨论。