I use below tasks and values for Dot Net 8 in ADO pipelines, SonarCloud analysis works for me
In SonarCloud analysis step, I pass these parameters:
sonar.cs.opencover.reportsPaths=$(Agent.TempDirectory)/Coverage/coverage.xml
sonar.cs.vstest.reportsPaths=$(Agent.TempDirectory)/testresults.trx
For test task, I use
- task: DotNetCoreCLI@2
condition: succeeded()
displayName: Unit Tests
inputs:
command: 'test'
arguments: '--logger "trx;LogFileName=testresults.trx" /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput="$(Agent.TempDirectory)/Coverage/coverage.xml"'
workingDirectory: '$(System.DefaultWorkingDirectory)/$(VS_Test_Sln_Path)'
continueOnError: true
Also, ensure these NuGet packages are present in the test project file to generate coverage reports from MSBuild:
<PackageReference Include="coverlet.msbuild" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>