Coverage info for some assemblies is missing

Symptoms

Some of the projects/assemblies that should be covered are shown with 0% coverage in the Unit Test Coverage window.

Cause

  • PDB files are absent / can not be found / does not match
  • The project is filtered from coverage analysis

Solution

First steps

  1. Drop coverage data with a trash bin icon in Unit Test Coverage toolbar.
  2. Clear caches:
    1. ReSharper: ReSharper | OptionsEnvironment | GeneralClick Clear caches and restart the Visual Studio
    2. Rider: File | Invalidate Caches | Invalidate and Restart.

Troubleshooting coverage filtering

  1. Check that assemblies are not excluded by coverage filters at dotCover | Filtering.
  2. Delete "Everything" filter from "Do not analyze code in" section.
  3. If there are some "Analyze code only in" filters, check that the required project is among the included projects.
  4. To exclude filtering issue try adding include filter consisting of wildcard, which will be shown as "Everything"
  5. If the "Include Everything" filter helped, but the root cause is unclear, please submit a support request with the dotCover logs

PDB files troubleshooting

  1. Check that the build configuration is "Debug" (this configuration by default produces PDB files as artefacts)
  2. Check if the build artefact are obfuscated. Disable obfuscation in order to collect coverage.
  3. Debug symbols type is set to "PDB files, portable across platforms". In *.csproj file, the property looks like this:
    <DebugType>portable</DebugType>
  4. Verify that PDB files are indeed located in the Build Output directory. If it is expected that PDB files reside elsewhere, see documentation for more info.
  5. Check that the assembly is not located in Global Assembly Cache (GAC). If so, it will be loaded from there by default. 

Nothing helped

If the issue remains, please submit a support request with the dotCover CORE logs with the following logs masks:

Core logs: Snapshot;Bridge;PdbBridge;MetaDataGt;PdbGt;MethodFilterGt;InstrumentationGt

Pdb server logs: CoreBridge;PdbGt

11 out of 137 found this helpful
3 comments

I see issues with dotCover when you mix different framework targets in one solution. I had assemblies for .net core 3.1 and 3.0. dotCover doesn't show any test coverage for 3.0 assembly. After change to the same target for all assemblies it works again.

2

File | Settings | dotCover | Highlighting  and check the 'Enable Highlighting' checkbox.
I have had to enable this after updates it gets unchecked sometimes.

0

Had the same issue, solved it by invalidating the cache.
File -> Invalidate caches...

1

Please sign in to leave a comment.

Have more questions?

Submit a request