Microsoft Code Coverage
Microsoft Code Coverage measures how much of a project’s code is exercised by tests, including unit tests.
What Microsoft Code Coverage is
Microsoft Code Coverage measures how much of a project’s code is exercised by tests, including unit tests. It supports managed CLR code and unmanaged native code, with static and dynamic instrumentation. The documented workflows collect coverage for .NET tests with `dotnet test` and for other .NET applications with the `dotnet-coverage` tool. When used with Microsoft.Testing.Platform.MSBuild, coverage extensions are auto-registered alongside MSTest, NUnit, and xUnit runners. The MTP extension can output coverage, XML, and Cobertura reports. Settings in runsettings or dedicated coverage files can control output, inclusion and exclusion rules, and instrumentation. Supported operating systems include Windows, macOS, and multiple Linux distributions, though instrumentation support varies by OS, version, and architecture. Other systems are supported on a best-effort basis, and some combinations allow static instrumentation only. Dynamic instrumentation on macOS and Linux requires libxml2; missing dependencies may lead to an empty report. MTP excludes test assemblies by default unless configured otherwise. The free tooling is described in a repository of documentation and samples for closed-source coverage functionality.
Good
- Supports managed CLR and unmanaged native code.
- Offers static and dynamic instrumentation.
- Produces coverage, XML, and Cobertura reports.
- Supports MSTest, NUnit, and xUnit runners.
Watch out
- MTP excludes test assemblies by default.
- Dynamic instrumentation on macOS and Linux requires libxml2.
- Instrumentation support varies by operating system and architecture.
Who it suits
Microsoft Code Coverage suits developers measuring coverage in .NET test projects or other .NET applications. It is relevant to teams using supported test runners and operating systems, provided they account for instrumentation requirements.
Verdict
Microsoft Code Coverage provides configurable coverage workflows for .NET projects, with multiple report formats and instrumentation options. Check platform support and dependencies carefully, since missing libxml2 on macOS or Linux can result in an empty report.
Plans and prices
From Microsoft Code Coverage's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Microsoft Code Coverage | Free | Closed-source · free to use |
The facts
Each one read from Microsoft Code Coverage's own pages, with the date it was checked.
What it does
- Configuration
- Coverage settings can control output, inclusion and exclusion rules, and instrumentation options using runsettings or dedicated coverage settings files.checked 4 Oct 2026
- Instrumentation
- The tooling supports static and dynamic instrumentation.checked 4 Oct 2026
- Intended users
- The documented workflows cover .NET test projects and other .NET applications that users want to measure for code coverage.checked 4 Oct 2026
- Managed and native code
- Coverage analysis supports managed CLR code and unmanaged native code; native coverage is disabled by default in the MTP extension.checked 4 Oct 2026
- Operating systems
- The supported operating systems include Windows, macOS, and multiple Linux distributions, with instrumentation support varying by OS, version, and architecture.checked 4 Oct 2026
- Purpose
- Measures what proportion of a project's code is exercised by coded tests such as unit tests.checked 4 Oct 2026
- Report formats
- The MTP coverage extension supports coverage, XML, and Cobertura output formats.checked 4 Oct 2026
- Runtime dependency
- Dynamic instrumentation on macOS and Linux requires the libxml2 package; missing required dependencies may cause an empty coverage report.checked 4 Oct 2026
- Security
- The repository links to a security policy, but its README describes this repository as documentation and samples for closed-source coverage functionality.checked 4 Oct 2026
- Support
- The repository invites users to report issues related to the Microsoft.CodeCoverage and dotnet-coverage NuGet packages and Visual Studio code coverage functionality.checked 4 Oct 2026
- Test assembly default
- MTP excludes test assemblies from coverage by default unless configured otherwise.checked 4 Oct 2026
- Test frameworks
- With Microsoft.Testing.Platform.MSBuild, coverage extensions are auto-registered when installed with MSTest, NUnit, and xUnit runners.checked 4 Oct 2026
- Usage
- The repository documents collecting coverage for .NET tests with dotnet test and for other .NET applications with the dotnet-coverage tool.checked 4 Oct 2026
Where it runs
- Platform limits
- Other operating systems are supported on a best-effort basis, and some OS and architecture combinations support static instrumentation only.checked 4 Oct 2026
Alternatives to Microsoft Code Coverage
- 1

Codecov
Free planOpen sourceWebAPIExtensionLinux8.0From $5 a month - 2
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 3
Coverage.py
Free planOpen sourceAPILinuxmacOSSelf-hosted7.3Free plan - 4

Coveralls
Free planWebAPILinuxSelf-hosted6.8From $10 a month - 5
ReportGenerator
Free planLinuxmacOSWindows6.8$79 one-time - 6
gcov
Free planLinuxmacOSWindows6.5Free plan
