WARN: The Code Coverage report doesn't contain any coverage data for the included files

I work with a repository that’s a mix of C# and Typescript projects and my team recently started encountering an issue where Sonar is reporting 0% code coverage on any C# changes. Most of the workflow/tooling hasn’t changed in years (including our use of Sonar). The most recent change was converting from the CodeCoverage.exe tool to the dotnet-coverage tool to produce the .coveragexml file for coverage stats, but this change was made March 10 and coverage was still being reported correctly until earlier this week (May 26). I noticed this warning in the logs:

WARN: The Code Coverage report doesn`t contain any coverage data for the included files. Troubleshooting guide: https://community.sonarsource.com/t/37151

I checked the linked troubleshooting guide and noticed that the dotnet-coverage tool isn’t listed under the prerequisites as a supported code coverage tool, but is listed as supported under the dotnet test coverage docs so the first thing I’m hoping to confirm is that the dotnet-coverage tool is supported for code coverage of C# projects.

If so, here’s some additional information about our workflow:

  • GitHub for source control where developers open pull requests against a main trunk
  • Jenkins for the build workflow where the following commands are run to start the sonar analysis, build projects, run tests, and end the sonar analysis
    • Begin sonar analysis
      "C:\Program Files\dotnet\\dotnet.exe" "C:\jenkins\tools\hudson.plugins.sonar.MsBuildSQRunnerInstallation\SonarCloud_for_MSBuild\SonarScanner.MSBuild.dll" begin /o:"camis" /k:"camis" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="****" /s:"workspace\SonarQube.Analysis.xml" /v:"5.99"
    • Build the relevant source and test projects (if the actual commands for these are relevant let me know but they’re all just dotnet build commands)
    • Run the tests
      . "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\\vstest.console.exe" <insert list of dlls here> /Enablecodecoverage /Settings:'workspace\\Process\\Build\\Camis\\JenkinsHelpers\\unit-tests.runsettings' /logger:'trx;LogFileName=UnitTests-NETCoreAppVersionv80.trx' /platform:x64 /InIsolation /Framework:.NETCoreApp,Version=v8.0
    • Generate the coveragexml file for sonar
      dotnet-coverage merge "TestResults\**\*.coverage" --output "TestResults\unit-test.coveragexml" -f xml
    • End sonar analysis
      . "C:\Program Files\dotnet\\dotnet.exe" "C:\jenkins\tools\hudson.plugins.sonar.MsBuildSQRunnerInstallation\SonarCloud_for_MSBuild\SonarScanner.MSBuild.dll" end /d:sonar.login="****"

I’ve attached the .runsettings and SonarQube.Analysis.xml files used in the commands, as well as the full debug logs and TestResults folder from Jenkins (minus the intermediary .coverage binary files). One interesting thing I noticed after enabling verbose logging was an entry about coverage files:
DEBUG: Analyzing coverage after aggregate found '32' coverage files.
Followed by 32 entries of
DEBUG: The file '<example>.cs' is either excluded or outside of your solution folder therefore Code Coverage will not be imported.
where one of the files listed is a file I’d expect to have code coverage statistics for, but most of the files listed weren’t even changed in the PR.
And then immediately followed by

DEBUG: The total number of file count statistics is '32'.
INFO: Coverage Report Statistics: 32 files, 0 main files, 0 main files with coverage, 0 test files, 32 project excluded files, 0 other language files.
WARN: The Code Coverage report doesn`t contain any coverage data for the included files. Troubleshooting guide: https://community.sonarsource.com/t/37151

There are no exclusions listed in the xml file used for analysis, and I don’t believe that file would be covered by any of the exclusion patterns we have configured in the portal:

Excluded sources for coverage: **/AutofacGeneralModule.cs, **/AutofacOrganizationModule.cs, **/Program.cs, **/Startup.cs, **/wwwroot/**, **/Persistence/**, Porter/**, **/Transformer/**, **/bin/**, **/obj/**, **/Connected Services/**, Lib/**, **/android/**, **/ios/**, **/*.xaml.cs, **/*.sql, **/*.html, **/*.resx, Testing/**, Auth/**, Npm/**, **/node_modules/**, **/*.Tests/**, Presentation/Reporting*/**, **/__tests__/**, Prime.Client/build-scripts/**, **/**.stories.**, **/storybook-base/**, **/FakesAssemblies/**, **/Fakes/**, Spirit/Spirit/Content/ContentManagementPageModel.cs

I’m unclear on what “…outside of your solution folder…” means but the commands I shared are being run from the root of the repository, and again, this was all working fine up until earlier this week, so I’m hoping someone can help me identify the issue.
Logs.zip (4.5 MB)
TestResults.zip (17.3 MB)
SonarQube.Analysis.zip (1.1 KB)