Msbuild SonarQube、Cake和TeamCity整合问题

Msbuild SonarQube、Cake和TeamCity整合问题,msbuild,sonarqube,teamcity,cakebuild,Msbuild,Sonarqube,Teamcity,Cakebuild,我正在使用TeamCity和Cake建立一个新的构建服务器,以构建一个c#类库和测试项目 我正在尝试将SonarQube添加到蛋糕构建脚本中。这个()已经存在一个Cake插件,我在TeamCity BuildAgent的工作文件夹中手动运行Cake构建脚本时,所有这些都可以正常工作,但是当它作为TeamCity构建步骤运行时,MSBuild和SonarQube之间的集成似乎中断了 通过TC运行时,我在生成日志中得到的错误是: The SonarQube MSBuild integration f

我正在使用TeamCity和Cake建立一个新的构建服务器,以构建一个c#类库和测试项目

我正在尝试将SonarQube添加到蛋糕构建脚本中。这个()已经存在一个Cake插件,我在TeamCity BuildAgent的工作文件夹中手动运行Cake构建脚本时,所有这些都可以正常工作,但是当它作为TeamCity构建步骤运行时,MSBuild和SonarQube之间的集成似乎中断了

通过TC运行时,我在生成日志中得到的错误是:

The SonarQube MSBuild integration failed: SonarQube was unable to collect the required information about your projects. Possible causes: 1. The project has not been built - the project must be built in between the begin and end steps 2. An unsupported version of MSBuild has been used to build the project. Currently MSBuild 12.0 upwards are supported 3. The begin, build or end steps have not all been launched from the same folder SonarQube MSBuild集成失败:SonarQube无法收集有关项目的所需信息。 可能的原因: 1.项目尚未生成-项目必须在开始和结束步骤之间生成 2.生成项目时使用了不受支持的MSBuild版本。目前支持MSBuild 12.0以上版本 3.开始、生成或结束步骤并非都从同一文件夹启动 这些都不适用于我。cake脚本在这两种情况下都运行开始、构建和结束步骤。我已经注销了当前目录,这两种情况都符合预期,并且MSBuild版本完全相同

在日志中,命令行和TC的SONABEGIN任务日志相同。这两个日志的唯一显著区别在于构建步骤:

在我看来,通过MSBuild从Sonar获取一些设置(如设置RunCodeAnalysis目标)并向csc.exe调用添加/ruleset等参数,集成应该可以工作,而从TC运行时不会发生这种情况

有人对如何解决问题有什么建议吗

(工作-从TeamCity代理工作目录中的powershell命令行运行)

验证解决方案配置: 构建解决方案配置“释放|任何CPU”。 项目中不存在“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\bin\targets\sonarqube.Integration.targets(340,11)”中BeforeTargets属性中列出的目标“RunCodeAnalysis”。 在“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\bin\targets\sonarqube.Integration.targets(391,11)”的后目标属性中列出的目标“RunCodeAnalysis”在项目中不存在,将被忽略。 项目“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\ContractManagement.Common.sln”(1)正在节点1(默认目标)上生成“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\src\ContractManagement.Common.csproj”(2)。 GenerateTargetFrameworkMonitorAttribute: 跳过目标“GenerateTargetFrameworkMonitorAttribute”,因为所有输出文件相对于输入文件都是最新的。 CreateProjectSpecificDirs: 目录“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\out\\ContractManagement.Common\u AnyCPU\u Release\u 5799”不存在。跳过 正在创建目录“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\out\\ContractManagement.Common\u AnyCPU\u Release\u 5799”。 目录“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\\ContractManagement.Common\u AnyCPU\u Release\u 5799”不存在。跳过 正在创建目录“C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\\ContractManagement.Common\u AnyCPU\u Release\u 5799”。 核心编译: C:\程序文件(x86)\MSBuild\14.0\bin\amd64\csc.exe/noconfig/nowarn:17011702/nostlib+/errorreport:prompt/warn:4/define:TRACE/highentropyva+/reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Dapper.1.50.2\lib\net451\Dapper.dll/参考:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Microsoft.ApplicationInsights.2.0\lib\net45\Microsoft.ApplicationInsights.dll/reference:“C:\Program Files(x86)\reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2\Microsoft.CSharp.dll”/reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\morelinq.2.1.0\lib\net35\morelinq.dll/reference:C:\Program Files(x86)\reference Assemblies\Microsoft\Framework\Microsoft\Framework\v4.5.2\mscorlib.dll”/reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Newtonsoft.Json.Json.9.0.1\lib\net45\Newtonsoft.Json.dll/reference:“C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2\System.Configuration.dll”/Reference:“C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll”/Reference:“C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2\System.Data.dll”/reference:“C:\Program Files(x86)\reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2\System.dll”/reference:“C:\Program Files(x86)\reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll”/debug:pdbonly/filealign:512/optimize+/out:obj\Release\UdGroup.ContractManagement.Common.dll/ruleset:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\SonarQubeRoslyn-cs.ruleset/errorlog:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\src\ContractManagement.Common\bin\Release\UdGroup.ContractManagement.Common.dll.roslyca.json/子系统版本:6.00/目标:library/WarnaError-/utf8output/analyzer:C:\Users\michael.tong\AppData\Local\Temp\.sonarqube\.static\csharp\U 1.22.0.1631\SonarAnalyzer-1.22.0.1631.zip\Google.Protobuf.dll/analyzer:C:\Users\michael.tong\AppData\Local\Temp\.sonarqube\.static\csharp\SonarAnalyzer-1.22.0.1631.zip\SonarAnalyzer.csharp.dll/analyzer:C:\Users\michael.tong\AppData\Local\Temp\.sonarqube\.static\csharp_1.22.0.1631\SonarAnalyzer-1.22.0.1631.zip\SonarAnalyzer.dll/附加文件:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\cs\SonarLint.xml/附加文件:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\\ContractManagement.Common\u AnyCPU\u Release\u 5799\ProjectOutFolderPath.txt Authentication\AuthDetails.cs Authentication\Authenticator.cs Authentication\AuthResult.cs Authentication\IAAuthentication.cs Dto ValidateSolutionConfiguration: Building solution configuration "Release|Any CPU". The target "RunCodeAnalysis" listed in a BeforeTargets attribute at "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\bin\targets\SonarQube.Integration.targets (340,11)" does not exist in the project, and will be ignored. The target "RunCodeAnalysis" listed in an AfterTargets attribute at "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\bin\targets\SonarQube.Integration.targets (391,11)" does not exist in the project, and will be ignored. Project "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\ContractManagement.Common.sln" (1) is building "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\src\ContractManagement.Common\ContractManagement.Common.csproj" (2) on node 1 (default targets). GenerateTargetFrameworkMonikerAttribute: Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files. CreateProjectSpecificDirs: Directory "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\out\\ContractManagement.Common_AnyCPU_Release_5799" doesn't exist. Skipping. Creating directory "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\out\\ContractManagement.Common_AnyCPU_Release_5799". Directory "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\\ContractManagement.Common_AnyCPU_Release_5799" doesn't exist. Skipping. Creating directory "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\\ContractManagement.Common_AnyCPU_Release_5799". CoreCompile: C:\Program Files (x86)\MSBuild\14.0\bin\amd64\csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE /highentropyva+ /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Dapper.1.50.2\lib\net451\Dapper.dll /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Microsoft.ApplicationInsights.2.2.0\lib\net45\Microsoft.ApplicationInsights.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Microsoft.CSharp.dll" /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\morelinq.2.1.0\lib\net35\MoreLinq.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll" /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Configuration.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll" /debug:pdbonly /filealign:512 /optimize+ /out:obj\Release\UdGroup.ContractManagement.Common.dll /ruleset:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\SonarQubeRoslyn-cs.ruleset /errorlog:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\src\ContractManagement.Common\bin\Release\UdGroup.ContractManagement.Common.dll.RoslynCA.json /subsystemversion:6.00 /target:library /warnaserror- /utf8output /analyzer:C:\Users\michael.tong\AppData\Local\Temp\.sonarqube\.static\csharp_1.22.0.1631\SonarAnalyzer-1.22.0.1631.zip\Google.Protobuf.dll /analyzer:C:\Users\michael.tong\AppData\Local\Temp\.sonarqube\.static\csharp_1.22.0.1631\SonarAnalyzer-1.22.0.1631.zip\SonarAnalyzer.CSharp.dll /analyzer:C:\Users\michael.tong\AppData\Local\Temp\.sonarqube\.static\csharp_1.22.0.1631\SonarAnalyzer-1.22.0.1631.zip\SonarAnalyzer.dll /additionalfile:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\cs\SonarLint.xml /additionalfile:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\.sonarqube\conf\\ContractManagement.Common_AnyCPU_Release_5799\ProjectOutFolderPath.txt Authentication\AuthDetails.cs Authentication\Authenticator.cs Authentication\AuthResult.cs Authentication\IAuthenticator.cs Dto\BaseRuleSet.cs Dto\CompanyCheckResult.cs Dto\CompanyTypeEnum.cs Dto\Contract.cs Dto\ContractHeader.cs Dto\ContractSubmission.cs Dto\CreditCheckData.cs Dto\CreditCheckDecisionEnum.cs Dto\CreditCheckResult.cs Dto\CreditDecision.cs Dto\DbDataValue.cs Dto\DatabaseLocation.cs Dto\DbMetaData.cs Dto\DbMetaDataDictionary.cs Repositories\BaseContractRepository.cs Managers\ContractManager.cs Dto\ContractStatus.cs Dto\DbDataValueDictionary.cs Dto\FieldValueDictionary.cs Managers\ContractStatusManager.cs Managers\IContractStatusManager.cs Managers\ICreditVetRuleSet.cs Util\AppInsights.cs Util\Constants.cs Util\ContractSubmissionGenerator.cs Repositories\IContractRepository.cs Dto\IFieldWithDependencySupport.cs Dto\ISiteFieldValidator.cs Dto\PopulatedField.cs Dto\FieldMetaData.cs Dto\StatusResponse.cs Dto\ValidatedSiteField.cs Dto\ValidationFailureType.cs Dto\ValidationRequest.cs Dto\ValidationResponse.cs Properties\AssemblyInfo.cs Util\IContractSubmissionGenerator.cs Repositories\IEntityDataRepository.cs Repositories\IFieldMetaDataRepository.cs Repositories\QuickQuoteRepository.cs Repositories\RegistrationRepository.cs Repositories\ContractDataRepository.cs Repositories\FieldMetaDataRepository.cs Dto\EntityType.cs Util\AppConfigReader.cs Util\EnumHelper.cs Util\Extensions.cs Repositories\IEntityRepository.cs Util\FieldDependencyHelper.cs Util\IUDLogger.cs Util\SiteDetailsConfigDecorator.cs Util\IConfigReader.cs Util\TypeHelper.cs "C:\Users\michael.tong\AppData\Local\Temp\.NETFramework,Version=v4.5.2.AssemblyAttributes.cs" ... Warnings here ValidateSolutionConfiguration: Building solution configuration "Release|Any CPU". Project "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\ContractManagement.Common.sln" (1) is building "C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\src\ContractManagement.Common\ContractManagement.Common.csproj" (2) on node 1 (default targets). CoreCompile: C:\Program Files (x86)\MSBuild\14.0\bin\amd64\csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE /highentropyva+ /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Dapper.1.50.2\lib\net451\Dapper.dll /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Microsoft.ApplicationInsights.2.2.0\lib\net45\Microsoft.ApplicationInsights.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Microsoft.CSharp.dll" /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\morelinq.2.1.0\lib\net35\MoreLinq.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll" /reference:C:\TeamCity\buildAgent\work\fd1026da6d1bbdb9\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Configuration.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll" /debug:pdbonly /filealign:512 /optimize+ /out:obj\Release\UdGroup.ContractManagement.Common.dll /subsystemversion:6.00 /target:library /utf8output Authentication\AuthDetails.cs Authentication\Authenticator.cs Authentication\AuthResult.cs Authentication\IAuthenticator.cs Dto\BaseRuleSet.cs Dto\CompanyCheckResult.cs Dto\CompanyTypeEnum.cs Dto\Contract.cs Dto\ContractHeader.cs Dto\ContractSubmission.cs Dto\CreditCheckData.cs Dto\CreditCheckDecisionEnum.cs Dto\CreditCheckResult.cs Dto\CreditDecision.cs Dto\DbDataValue.cs Dto\DatabaseLocation.cs Dto\DbMetaData.cs Dto\DbMetaDataDictionary.cs Repositories\BaseContractRepository.cs Managers\ContractManager.cs Dto\ContractStatus.cs Dto\DbDataValueDictionary.cs Dto\FieldValueDictionary.cs Managers\ContractStatusManager.cs Managers\IContractStatusManager.cs Managers\ICreditVetRuleSet.cs Util\AppInsights.cs Util\Constants.cs Util\ContractSubmissionGenerator.cs Repositories\IContractRepository.cs Dto\IFieldWithDependencySupport.cs Dto\ISiteFieldValidator.cs Dto\PopulatedField.cs Dto\FieldMetaData.cs Dto\StatusResponse.cs Dto\ValidatedSiteField.cs Dto\ValidationFailureType.cs Dto\ValidationRequest.cs Dto\ValidationResponse.cs Properties\AssemblyInfo.cs Util\IContractSubmissionGenerator.cs Repositories\IEntityDataRepository.cs Repositories\IFieldMetaDataRepository.cs Repositories\QuickQuoteRepository.cs Repositories\RegistrationRepository.cs Repositories\ContractDataRepository.cs Repositories\FieldMetaDataRepository.cs Dto\EntityType.cs Util\AppConfigReader.cs Util\EnumHelper.cs Util\Extensions.cs Repositories\IEntityRepository.cs Util\FieldDependencyHelper.cs Util\IUDLogger.cs Util\SiteDetailsConfigDecorator.cs Util\IConfigReader.cs Util\TypeHelper.cs "C:\TeamCity\buildAgent\temp\buildTmp\.NETFramework,Version=v4.5.2.AssemblyAttributes.cs" C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\MSBuild C:\Windows\sysWOW4\config\systemprofile\AppData\Local\Microsoft\MSBuild