SonarQube 运行 代码分析 Azure DevOps 任务因无法定位而失败 xunit.runner.visualstudio.dotnetcore.testadapter.dll

SonarQube Run Code Analysis Azure DevOps task fails due not able to locate xunit.runner.visualstudio.dotnetcore.testadapter.dll

您使用的是哪个版本?(SonarQube、扫描仪、插件和任何相关扩展)

任务版本 4 - Azure DevOps 服务

你想达到什么目的?

运行代码分析

到目前为止你做了什么来实现这个目标?

  1. 停止和启动代理服务
  2. 删除文件夹 _work 并触发新的 运行
  3. 安装新代理
  4. 运行本地账号代理
  5. 使用不同版本的 dotnet 任务
  6. 添加并休眠任务 20 秒以避免其他资源占用 同一个文件
  7. 使用 SonarQube 运行 代码分析插件代替 CMD 调用 执行
  8. 使用 SonarQube 运行 代码分析 插入而不是 CMD 在版本 *5
  9. 中调用执行
  10. 修复了 JAVA_HOME 和 JRE_HOME
  11. 更新 VS2019

*错误日志:

17:56:22.652 17:56:22.652 警告:文件 'C:\windows\system32\config\systemprofile.nuget\packages\microsoft.net.test.sdk.6 .1\build\netcoreapp2.1\Microsoft.NET.Test.Sdk.Program.cs'不在根目录'F:\AzureServicesAgents\AgentU07_work\s'下,不分析。 17:56:22.652 17:56:22.652 警告:文件 'C:\windows\system32\config\systemprofile.nuget\packages\microsoft.testplatform.testhost.6.1\build\netcoreapp2.[= 82=.exe'不在​​根目录'F:\AzureServicesAgents\AgentU07_work\s'下,不分析。 17:56:22.653 17:56:22.653 警告:文件 'C:\windows\system32\config\systemprofile.nuget\packages\microsoft.testplatform.testhost.6.1\build\netcoreapp2.[= 82=.dll'不在根目录'F:\AzureServicesAgents\AgentU07_work\s'下,不分析。 17:56:22.653 17:56:22.653 警告:文件

我已经检查过,这个文件存在于上面的路径中 'C:\windows\system32\config\systemprofile.nuget\packages\xunit.运行ner.visualstudio.4.1\build\netcoreapp1.0\xunit.runner.visualstudio.dotnetcore.testadapter.dll' 不是位于根目录下

我已经检查过,这个文件存在于上面的路径中 ‘F:\AzureServicesAgents\AgentU07_work\s’,不分析。 17:56:22.653 17:56:22.653 警告:文件 'C:\windows\system32\config\systemprofile.nuget\packages\xunit.运行ner.visualstudio.4.1\build\netcoreapp1.0\xunit.runner.reporters.netcoreapp10.dll'不在根目录'F:\AzureServicesAgents\AgentU07_work\s'下,不分析。 17:56:22.653 17:56:22.653 警告:文件 'C:\windows\system32\config\systemprofile.nuget\packages\xunit.运行ner.visualstudio.4.1\build\netcoreapp1.0\xunit.runner.utility.netcoreapp10.dll'不在根目录'F:\AzureServicesAgents\AgentU07_work\s'下,不分析。 调用 TFS 处理器可执行文件…

在阅读了几个依赖日志之后,确实发现实际上那些文件被分析了,似乎“Azure DevOps”和“SonarQube”无法就此管道执行后发生的事情达成一致,所以取出来:

  • 根据它的实施方式,您的 SonarQube 会读取有关您遇到问题的执行日志。
  • 将这些日志与 VSTS_agent 日志中与抛出错误的特定任务关联的日志进行比较,并检查时间戳以确保是否存在实际错误或执行是否顺利通过

和我一起的其他两位工程师同意这是整个管道的数据解释错误,但是日志证明它们通过了,并且报告是在 SonarQube 端点中创建的,因此将被忽略