gpt4 book ai didi

sonarqube - dotnet.exe 锁定 SonarScanner.MSBuild.Common.dll

转载 作者:行者123 更新时间:2023-12-04 23:37:03 26 4
gpt4 key购买 nike

晚上好,

我正在使用这里的 .Net Core 2.0 版本 https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild在 Jenkins 的 2.1 项目中:

withSonarQubeEnv('SonarQubeMain') {
bat "dotnet ${globals.SONAR_QUBE_MSBUILD_PATH}\\SonarScanner.MSBuild.dll begin /k:\"${globals.SONAR_QUBE_PROJECT}\" /d:sonar.host.url=${globals.SONAR_HOST_URL} /d:sonar.cs.xunit.reportsPaths=\"XUnit.xml\" /d:sonar.cs.opencover.reportsPaths=\"coverage.xml\"
}

bat "dotnet build --version-suffix ${env.BUILD_NUMBER}"

dir('test/mytestprojecthere') {
bat 'D:\\OpenCover\\OpenCover.Console.exe -target:"c:\\Program Files\\dotnet\\dotnet.exe" -targetargs:"xunit --no-build -xml XUnit.xml" -output:coverage.xml -oldStyle -filter:"-[*Tests*]*" -register:user'
}
withSonarQubeEnv('SonarQubeMain') {
bat "dotnet ${globals.SONAR_QUBE_MSBUILD_PATH}\\SonarScanner.MSBuild.dll end"
}

它在第一个构建中工作,但在下一个构建中失败:
Failed to create an empty directory 'D:\Jenkins\workspace\xxxxxxxx\.sonarqube'. 
Please check that there are no open or read-only files in the directory and that you have the necessary read/write permissions.

Detailed error message: Access to the path 'SonarScanner.MSBuild.Common.dll' is denied.

并检查我的 Windows 服务器,我可以看到多个 .Net Core 主机后台进程。如果我杀了这些,我可以重新 build ..

我读过关于 msbuild /nodereuse:false用于 MSBuild 但似乎不适用于 dotnet 核心版本?

最佳答案

仅供引用 @Nauzet 在 Scanner for MSBuild repo 中为此打开了一个问题:#535 .

总结一下:

  • 开始和结束步骤似乎运行良好,并且 dotnet.exe 按预期关闭这些进程
  • 在构建复杂的解决方案时,会启动多个 dotnet.exe 实例,并且不会在构建完成后立即关闭。更简单的解决方案似乎不会出现该问题。
  • 如果您使用 dotnet build 或 dotnet msbuild 触发构建阶段,则会出现此问题
  • 解决方法:直接使用 msbuild 构建,或使用 dotnet build/nodereuse:false
  • 构建

    仅供引用,MSBuild 扫描器有几个在构建阶段调用的自定义任务。这些使用被锁定的程序集。自定义任务没有什么不寻常的地方;他们只是从磁盘上的文件中读取数据。在这一点上,我不相信这是 Scanner for MSBuild 的问题。

    关于sonarqube - dotnet.exe 锁定 SonarScanner.MSBuild.Common.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50632277/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com