sonar MSBuild runner只分析了整个解决方案中的一个项目

sonar MSBuild runner只分析了整个解决方案中的一个项目,msbuild,sonarqube,sonar-runner,sonarqube-msbuild-runner,Msbuild,Sonarqube,Sonar Runner,Sonarqube Msbuild Runner,我们有一个包含5个项目的解决方案 在运行MSBuild runner之后,我们的sonar只包含一个项目的分析,而不是完整的解决方案 执行: 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

我们有一个包含5个项目的解决方案

在运行MSBuild runner之后,我们的sonar只包含一个项目的分析,而不是完整的解决方案

执行:

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
cdk:\root
D:\BuildTools\MSBSonarQubeRunner-1.0.2\MSBuild.SonarQube.Runner.exe begin/k:“solutionKey”/n:“solutionName”/v:“solutionVersion”/D:sonar.resharper.cs.reportPath=“k:\\resharper.xml”/D:sonar.resharper.solutionFile=“k:\\solution.sln”
C:\ProgramFiles(x86)\MSBuild\14.0\Bin\MSBuild.exe K:\\solution.sln/t:rebuild/p:Configuration=Release/p:TargetFrameworkVersion=“v4.5.2”/verbosity:n/flp1:logfile=D:\ModuleBuild\Workspace\builderrors.txt;错误地;append=true
D:\BuildTools\ReSharperCommandLineTools\inspectcode.exe“K:\\solution.sln”/o=“K:\\resharper.xml”
D:\BuildTools\MSBSonarQubeRunner-1.0.2\MSBuild.SonarQube.Runner.exe end>D:\ModuleBuild\Workspace\sonar.out 2>D:\ModuleBuild\Workspace\sonar.err
这一切运行良好,除了只有一个解决方案出现在声纳。。。 对于解决方案中不在项目中的每个文件,我们会在runner输出中获得一行,如下所示:

12:14:43.513信息-跳过第262行的ReSharper问题 文件 “{pathToSource}\ChangeListHelper.cs”是 不是在库贝

从MSBuild运行程序生成的sonar-project.properties包含项目的sonar.projectname,而不是解决方案。sonar.projectBasedir也设置为该项目


我们应该如何修复它,以便对整个解决方案进行分析?

您的
\solution.sln
是否可能包含
*\test\*
?默认配置忽略该正则表达式的项目

如果,比如说,除了一个项目,其他项目都在
K:\myWork\thisSolution\test\ProjectA
ProjectB
ProjectC
最后一个是
K:\myWork\thisSolution\app\ProjectD
ProjectD
是唯一被分析的,这就是原因


有关此主题的其他SO讨论。

您的
\Solution.sln
是否可能包含
*\test\*
?默认配置忽略该正则表达式的项目

如果,比如说,除了一个项目,其他项目都在
K:\myWork\thisSolution\test\ProjectA
ProjectB
ProjectC
最后一个是
K:\myWork\thisSolution\app\ProjectD
ProjectD
是唯一被分析的,这就是原因


有关此主题的其他SO讨论。

对于解决方案中的每个项目,运行者将在属性文件中生成模块。基本目录应该指向解决方案文件的根位置。你就是这样吗?不太清楚,你遇到了什么样的麻烦。但是,您从R#获得的输出是因为您正在分析一个多项目解决方案。分析器仅为每个项目分析解析整个resharper.xml,并忽略与项目无关的问题。sonar resharper插件不会对每个项目应用过滤器。请参阅:。问题在于基本目录未指向根位置。我们希望分析整个解决方案中的所有项目,并在sonar中正确显示结果(=>以便我们可以在单击解决方案时看到sonar中所有项目的分析)。这似乎确实是一个问题-分析后,您在
.sonarqube\out
中有多少文件夹?每个项目应该有一个,
.sonar
一个,如果您已经执行了
结束
步骤。在生成的sonar-project.properties中,查找文件末尾的
sonar.modules=
行,它的值是什么?我有一个.sonar文件夹和一个文件夹,名称如下:_AnyCPU\u Release\u如果每个项目应该有一个,那么肯定会缺少一些项目(该解决方案中有6个项目)。sonar.modules的值是GUID…begin、MSBuild和end命令需要从同一目录运行-请参阅。从何处运行ReSharper并不重要,因为报告文件的路径已明确指定。对于解决方案中的每个项目,运行程序将在属性文件中生成模块。基本目录应该指向解决方案文件的根位置。你就是这样吗?不太清楚,你遇到了什么样的麻烦。但是,您从R#获得的输出是因为您正在分析一个多项目解决方案。分析器仅为每个项目分析解析整个resharper.xml,并忽略与项目无关的问题。sonar resharper插件不会对每个项目应用过滤器。请参阅:。问题在于基本目录未指向根位置。我们希望分析整个解决方案中的所有项目,并在sonar中正确显示结果(=>以便我们可以在单击解决方案时看到sonar中所有项目的分析)。这似乎确实是一个问题-分析后,您在
.sonarqube\out
中有多少文件夹?每个项目应该有一个,
.sonar
一个,如果您已经执行了
结束
步骤。在生成的sonar-project.properties中,查找文件末尾的
sonar.modules=
行,它的值是什么?我有一个.sonar文件夹和一个文件夹,名称如下:_AnyCPU\u Release\u如果每个项目应该有一个,那么肯定会缺少一些项目(该解决方案中有6个项目)。sonar.modules的值是GUID…begin、MSBuild和end命令需要从同一目录运行-请参阅。无论从何处运行ReSharper,因为报告文件的路径是明确指定的。路径中没有测试,我们知道该问题/功能。详细模式是否没有提供任何其他线索<代码>msbuild.*.exe begin/k。