JetBrains.dotCover.CommandLineTools
2025.2.1
Prefix Reserved
dotnet tool install --global JetBrains.dotCover.CommandLineTools --version 2025.2.1
dotnet new tool-manifest
dotnet tool install --local JetBrains.dotCover.CommandLineTools --version 2025.2.1
#tool dotnet:?package=JetBrains.dotCover.CommandLineTools&version=2025.2.1
nuke :add-package JetBrains.dotCover.CommandLineTools --version 2025.2.1
JetBrains dotCover. Cross-platform .NET code coverage tool.
The dotCover command-line tool lets you run code coverage analysis for .NET and .NET Framework projects, generate coverage snapshots or reports, and apply flexible filtering.
Analyze coverage in .NET projects
Build your project, run coverage analysis and get a coverage snapshot:
dotnet build
dotCover cover --snapshot-output snapshot.dcvr -- test --no-build
Run coverage analysis and generate a report:
dotCover cover --xml-report-output report.xml -- test --no-build
Use a response file with configuration:
dotCover cover @"~/config/config.txt"
Analyze coverage in .NET Framework projects
Make sure your project is already built.
Run coverage analysis (for example, using NUnit) and get a coverage snapshot:
dotCover cover --target-executable "D:\Program Files\NUnit 2.6\bin\nunit-console.exe" \
--target-arguments "D:\Projects\TheApplication\bin\Debug\AppTests.dll" \
--snapshot-output snapshot.dcvr
Here:
--target-executable
– path to the test runner (e.g.,nunit-console.exe
)--target-arguments
– path to the test DLL
Run coverage analysis and generate a report:
dotCover cover --target-executable "D:\Program Files\NUnit 2.6\bin\nunit-console.exe" \
--target-arguments "D:\Projects\TheApplication\bin\Debug\AppTests.dll" \
--xml-report-output report.xml
Use a response file with configuration:
dotCover cover @"D:\Config\config.txt"
Apply coverage filters
Use filters to exclude specific assemblies, code marked with attributes, or processes from analysis.
Assembly filter
dotCover cover --exclude-assemblies MyTests,*Helpers
Attribute filter
dotCover cover --exclude-attributes System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
Process filter
dotCover cover --exclude-processes vstest.discovery.engine
Combine filters from CLI and response files
You can specify the same filter option multiple times — dotCover will combine the values.
dotCover cover --exclude-assemblies "*.Tests" @filters.txt
Contents of filters.txt
:
--exclude-assemblies ThirdPartyLib
--exclude-attributes System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
Command-line parameters
The following rules apply to all dotCover command-line parameters:
- Use the same syntax across all platforms.
- Separate parameter names and values with a space:
--target-executable MyApp.exe
- Parameters are case-sensitive and use
kebab-case
. - Escape paths with spaces using extra double quotes and backslashes:
--target-arguments "\"D:\My Projects\MyApp\bin\Debug\AppTests.dll\""
- Relative paths are resolved from the working directory.
- If no output options are specified, dotCover generates a snapshot (
.dcvr
) by default.
To get a report, use--json-report-output
or--xml-report-output
.
To get both, specify both--snapshot-output
and a report output option. - Use response files to manage long parameter sets:
dotCover cover @args.txt
Command reference
cover
dotCover cover — Run coverage analysis on a specified application or test project
=================================================================================
Usage:
dotCover cover <options> [-- <target arguments>]
dotCover cover @<args-file> [@<args-file2> ...] [<options>]
Description:
Runs coverage analysis for the specified executable, .NET test project, or any dotnet command.
If no executable is specified, dotCover will try to automatically run 'dotnet'.
Options:
--target-executable <path>
Path to the application or test runner to analyze.
If omitted, dotCover will auto-detect the 'dotnet' CLI.
--target-arguments <args>
Command-line arguments to pass to the target executable.
You can omit the parameter and specify them after a double dash: -- arg1 arg2
--target-working-directory <path>
Application working directory. By default, it's the target’s directory.
--snapshot-output <path>
Path to save the raw coverage snapshot ('.dcvr'). Autogenerated if omitted.
Filter options:
--exclude-assemblies <list>
Comma-separated list of assembly names to exclude from analysis. Wildcards (*) allowed, e.g., *.Tests
You can specify this option multiple times; all values will be combined.
--exclude-attributes <list>
Comma-separated list of fully qualified attribute names.
Code marked with these will be excluded, e.g., System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
Wildcards (*) allowed. You can specify this option multiple times; all values will be combined.
--exclude-processes <list>
Comma-separated list of process names to ignore during analysis. Wildcards (*) allowed.
You can specify this option multiple times; all values will be combined.
Report options:
--json-report-output <path>
Paths to save formatted JSON report.
--xml-report-output <path>
Paths to save formatted XML report.
Advanced options:
--temporary-directory <path>
Directory for temporary files. By default, it's the system temp folder.
--use-api
Control the coverage session using the profiler API.
--no-ngen
Disable loading of NGen images during coverage.
--log-file <path>
Enable logging and specify the path to the log file.
Notes:
- You can use response files with the '@<args-file>' syntax to simplify command lines.
Examples:
dotCover cover --json-report-output report.json -- test
dotCover cover @args.txt
report
dotCover report — Generate a coverage report from a snapshot
============================================================
Usage:
dotCover report <options>
dotCover report @<args-file> [@<args-file2> ...] [<options>]
Description:
Creates a formatted report (XML or JSON) from a coverage snapshot (.dcvr).
Options:
--snapshot-source <path>
Required. Path to the coverage snapshot file (.dcvr).
--json-report-output <path>
Paths to save formatted JSON report.
--xml-report-output <path>
Paths to save formatted XML report.
Advanced options:
--log-file <path>
Enable logging and specify the path to the log file.
Notes:
- You can use response files with the '@<args-file>' syntax to simplify command lines.
Examples:
dotCover report --snapshot-source merged.dcvr --xml-report-output report.xml
dotCover report @report-args.txt
merge
dotCover merge — Combine multiple coverage snapshots into one
=============================================================
Usage:
dotCover merge <options>
dotCover merge @<args-file> [@<args-file2> ...] [<options>]
Description:
Merges two or more coverage snapshots (.dcvr files) into a single snapshot.
This is useful when coverage was collected in separate test runs (e.g., with different test frameworks or target platforms).
Options:
--snapshot-source <list>
Required. Comma-separated list of source snapshot files to merge.
--snapshot-output <path>
Path to save the merged snapshot (.dcvr). If omitted, a file name will be generated automatically.
Advanced options:
--temporary-directory <path>
Directory for temporary files. By default, it's the system temp folder.
--log-file <path>
Enable logging and specify the path to the log file.
Notes:
- You can use response files with the '@<args-file>' syntax to simplify command lines.
Examples:
dotCover merge --snapshot-source run1.dcvr,run2.dcvr --snapshot-output merged.dcvr
dotCover merge @merge-args.txt
version
dotCover version — Write the current dotCover version to a file
===============================================================
Usage:
dotCover version [options]
Description:
Write the version to a specified file.
Options:
--text-output <path>
Path to save the version information as plain text.
Examples:
dotCover version
dotCover version --text-output version.txt
help
dotCover help — Show help for dotCover CLI commands
===================================================
Usage:
dotCover help [<command>]
Description:
Displays detailed help for a specific command.
Available commands:
cover Run coverage analysis on an application or test project
merge Combine multiple coverage snapshots into one
report Generate a coverage report from a snapshot
version Display the current dotCover version
help Show help on commands
Examples:
dotCover help cover
Exit codes
dotCover exit codes — Meaning of return codes from CLI commands
===============================================================
Exit codes returned by dotCover commands:
0 Success
The command completed successfully.
1 Command execution error
An unexpected error occurred while executing the command.
2 Command configuration error
One or more required parameters were missing or invalid.
3 Target application error
The target application or test runner returned a non-zero exit code.
4 Command timeout
The command execution timed out before completion.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Windows Store | netcore is compatible. netcore45 was computed. netcore451 was computed. |
This package has no dependencies.
Version | Downloads | Last Updated |
---|---|---|
2025.2.1 | 0 | 9/4/2025 |
2025.1.7 | 1,455 | 9/3/2025 |
2025.1.6 | 18,988 | 8/19/2025 |
2025.1.5 | 17,725 | 8/4/2025 |
2025.1.4 | 46,053 | 6/30/2025 |
2025.1.3 | 41,563 | 6/12/2025 |
2025.1.2 | 92,995 | 5/7/2025 |
2025.1.1 | 20,516 | 4/28/2025 |
2025.1.0 | 63,714 | 4/14/2025 |
2024.3.8 | 154,135 | 5/20/2025 |
2024.3.7 | 205,215 | 4/3/2025 |
2024.3.6 | 90,778 | 2/28/2025 |
2024.3.5 | 50,048 | 2/7/2025 |
2024.3.4 | 32,487 | 1/23/2025 |
2024.3.3 | 85,268 | 12/23/2024 |
2024.3.2 | 127,104 | 12/11/2024 |
2024.3.1 | 4,033 | 12/10/2024 |
2024.3.0 | 124,602 | 11/13/2024 |
2024.2.9 | 178 | 5/28/2025 |
2024.2.8 | 508 | 1/29/2025 |
2024.2.7 | 30,935 | 10/23/2024 |
2024.2.6 | 24,659 | 10/9/2024 |
2024.2.5 | 28,773 | 9/20/2024 |
2024.2.4 | 381,666 | 9/9/2024 |
2024.2.3 | 33,113 | 8/30/2024 |
2024.2.2 | 9,719 | 8/26/2024 |
2024.2.1 | 9,934 | 8/20/2024 |
2024.2.0 | 34,650 | 8/15/2024 |
2024.1.7 | 377 | 2/19/2025 |
2024.1.6 | 9,544 | 8/13/2024 |
2024.1.5 | 20,367 | 8/6/2024 |
2024.1.4 | 84,377 | 6/24/2024 |
2024.1.3 | 42,566 | 6/8/2024 |
2024.1.2 | 67,228 | 5/7/2024 |
2024.1.1 | 85,205 | 4/17/2024 |
2024.1.0 | 176,485 | 4/9/2024 |
2023.3.6 | 2,331 | 6/8/2024 |
2023.3.5 | 4,745 | 4/22/2024 |
2023.3.4 | 32,980 | 3/12/2024 |
2023.3.3 | 227,142 | 1/22/2024 |
2023.3.2 | 198,208 | 12/20/2023 |
2023.3.1 | 29,521 | 12/12/2023 |
2023.3.0 | 72,591 | 12/5/2023 |
2023.2.5 | 28,202 | 6/8/2024 |
2023.2.4 | 20,117 | 3/11/2024 |
2023.2.3 | 109,815 | 11/3/2023 |
2023.2.2 | 85,183 | 9/26/2023 |
2023.2.1 | 41,016 | 8/24/2023 |
2023.2.0 | 38,756 | 8/2/2023 |
2023.1.7 | 442 | 6/8/2024 |
2023.1.6 | 1,536 | 3/15/2024 |
2023.1.5 | 2,365 | 3/12/2024 |
2023.1.4 | 14,059 | 7/18/2023 |
2023.1.3 | 40,170 | 6/22/2023 |
2023.1.2 | 76,789 | 5/17/2023 |
2023.1.1 | 22,335 | 4/26/2023 |
2023.1.0 | 30,715 | 4/5/2023 |
2022.3.3 | 25,413 | 3/22/2023 |
2022.3.2 | 100,758 | 1/26/2023 |
2022.3.1 | 45,077 | 12/21/2022 |
2022.3.0 | 180,657 | 12/7/2022 |
2022.2.4 | 103,921 | 11/8/2022 |
2022.2.3 | 103,437 | 9/13/2022 |
2022.2.2 | 28,569 | 8/22/2022 |
2022.2.1 | 21,365 | 8/10/2022 |
2022.2.0 | 15,312 | 8/2/2022 |
2022.1.2 | 107,144 | 6/3/2022 |
2022.1.1 | 119,011 | 4/29/2022 |
2022.1.0 | 38,153 | 4/19/2022 |
2021.3.4 | 118,692 | 3/30/2022 |
2021.3.3 | 182,482 | 1/31/2022 |
2021.3.2 | 113,453 | 12/24/2021 |
2021.3.1 | 19,706 | 12/10/2021 |
2021.3.0 | 17,105 | 12/8/2021 |
2021.2.3 | 12,471 | 12/28/2021 |
2021.2.2 | 225,265 | 10/13/2021 |
2021.2.1 | 138,275 | 8/27/2021 |
2021.2.0 | 95,646 | 8/3/2021 |
2021.1.5 | 47,931 | 7/22/2021 |
2021.1.4 | 22,812 | 7/14/2021 |
2021.1.3 | 346,379 | 5/26/2021 |
2021.1.2 | 100,223 | 4/23/2021 |
2021.1.1 | 20,863 | 4/10/2021 |
2021.1.0 | 38,923 | 4/8/2021 |
2020.3.4 | 42,726 | 3/17/2021 |
2020.3.3 | 29,642 | 2/22/2021 |
2020.3.2 | 104,405 | 12/30/2020 |
2020.3.1 | 10,520 | 12/24/2020 |
2020.3.0 | 30,017 | 12/14/2020 |
2020.2.5 | 9,450 | 12/18/2020 |
2020.2.4 | 119,936 | 10/1/2020 |
2020.2.3 | 22,352 | 9/18/2020 |
2020.2.2 | 12,796 | 9/10/2020 |
2020.2.1 | 40,938 | 8/21/2020 |
2020.2.0 | 24,850 | 8/13/2020 |
2020.1.4 | 150,331 | 7/9/2020 |
2020.1.3 | 161,338 | 5/19/2020 |
2020.1.2 | 18,879 | 5/7/2020 |
2020.1.1 | 65,375 | 4/29/2020 |
2020.1.0 | 15,605 | 4/16/2020 |
2019.3.4 | 70,827 | 2/28/2020 |
2019.3.3 | 10,413 | 2/20/2020 |
2019.3.2 | 37,935 | 2/12/2020 |
2019.3.1 | 125,321 | 12/20/2019 |
2019.3.0 | 130,874 | 12/11/2019 |
2019.2.4 | 146,607 | 1/14/2020 |
2019.2.3 | 99,433 | 10/18/2019 |
2019.2.2 | 208,316 | 8/29/2019 |
2019.2.1 | 34,775 | 8/20/2019 |
2019.1.3 | 65,187 | 7/10/2019 |
2019.1.2 | 33,324 | 6/6/2019 |
2019.1.1 | 46,445 | 5/2/2019 |
2019.1.0 | 8,608 | 4/30/2019 |
2018.3.5 | 11,072 | 5/17/2019 |
2018.3.4 | 255,552 | 3/5/2019 |
2018.3.3 | 31,067 | 2/11/2019 |
2018.3.2 | 8,543 | 1/30/2019 |
2018.3.1 | 147,586 | 12/27/2018 |
2018.3.0 | 6,522 | 12/18/2018 |
2018.2.3 | 192,905 | 9/13/2018 |
2018.2.2 | 22,468 | 9/11/2018 |
2018.2.1 | 48,528 | 8/30/2018 |
2018.2.0 | 89,720 | 8/21/2018 |
2018.1.4 | 45,268 | 8/2/2018 |
2018.1.3 | 13,669 | 7/5/2018 |
2018.1.2 | 46,647 | 5/31/2018 |
2018.1.1 | 8,190 | 5/25/2018 |
2018.1.0 | 24,725 | 4/16/2018 |
2017.3.5 | 37,155 | 3/23/2018 |
2017.3.4 | 6,361 | 3/23/2018 |
2017.3.3 | 12,675 | 3/2/2018 |
2017.3.2 | 40,286 | 2/1/2018 |
2017.3.1 | 80,524 | 12/22/2017 |
2017.3.0 | 7,900 | 12/19/2017 |