AltCover 6.0.698

A cross-platform pre-instrumenting code coverage tool set for .net/.net core and Mono

There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
Install-Package AltCover -Version 6.0.698
dotnet add package AltCover --version 6.0.698
<PackageReference Include="AltCover" Version="6.0.698" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AltCover --version 6.0.698
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AltCover, 6.0.698"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

Release Notes

Q. Never mind the fluff -- how do I get started?

A. Start with the Quick Start guide :

# 6.0.698 (Fukurou series release 1)
* [BREAKING] Allow multiple input and output directories for instrumentation into a single report.  This changes the types in API structures from `string` to `string seq` (F#) or `string[]` (C#) where appropriate.  Use case : [instrument multiple unit test assemblies in one go]( for running as [a single test step]( to collect coverage.
* Enable the `--sn` and `-k` arguments in the `dotnet` build.  This doesn't change any APIs, but it does mean that these arguments are no longer ignored for the .net core platform.  This work borrows from changes recently made in Mono.Cecil but not yet in a release build; in the fullness of time, my roll-my-own support will be replaced with the real deal.
* For what it's worth, enable the `-d` argument in the .net framework/Mono build (as the APIs already exposed this, the change is behavioural -- any values supplied are used rather than silently dropped)

# 5.3.688 (Ezoguma series release 8)
* [BUGFIX] Branch-chasing could enter an infinite loop burning memory as it went by ignoring instructions that would exit that loop (e.g. return, throw, break)
* Updating consumed libraries and related changes to build process (no functional differences)

# 5.3.679 (Ezoguma series release 7)
* Add the search of the .net core nuget cache into the Framework/Mono build to address issue 20 corner case
* Minor change to usage text for `-o` option to refer to `--inplace`
* On Windows Terminal 0.2.x, the default foreground is ConsoleColor.Gray, and ConsoleColor.White can have the same RGB values as the default background hue ConsoleColor.Black (e.g. the supplied Solarized Light), so don't set the colour to White, but use Foreground instead.
* Use locale-independent string-to-number interconversion in the calculation of CRAP score
* Package `AltCover.exe.config` for the .net framework build, and add `README.html` to the packages that lacked it.
* Updating consumed libraries and related changes to build process (no functional differences)

# 5.3.675 (Ezoguma series release 6)
* In the `Invoke-AltCover -Runner` cmdlet, send the summary text (OpenCover and/or TeamCity style) to the object pipeline as well as to the `Information` channel.
* Option `--defer[:[+|-]]` (default `--defer:-`) (`-Defer` for PowerShell; Defer property on MSBuild task; API field) to keep all the visit data in memory and only write the total out during process exit
* Automatic defer, with in-process data collection, for `dotnet test` to work around the 100ms limitation on `ProcessExit` handling imposed by the VSTest system that led to the "write everything to disk" runner mode in the first place
* Other throughput improvements for data collection

# 5.2.667 (Ezoguma series release 5)
* [BUGFIX] Expose the sourcelink functionality through `dotnet test` as well (`/p:AltCoverSourceLink=true`)
* [BUGFIX] Update help text to current
* [BUGFIX] Fix the long-standing case where two or more branches of a switch go to the same location so that all of them go through the instrumentation
* `/p:AltCoverShowSummary=colour` to echo summary data to stdout in the colour of choice (default: current foreground if `colour` is not a valid `ConsoleColor` case-insensitive name e.g. `"true"`), and equivalent API extensions
* `--teamcity[]:[+][R|B]]` to put an additional (`+`) or replacement teamcity summary, with branches as teamcity branches with `R` or blocks `B` (which. last I tried, was the value to actually show up in the build report); if no optionas are attached, `B` is understood.  Exposed via API field `SummaryFormat`, PowerShell `-SummaryFormat`, `dotnet test` argument `/p:AltCoverSummaryFormat=...`

# 5.1.666 (Ezoguma series release 4)
* `--dropReturnCode` ( `-DropReturnCode` in PowerShell, `ExposeReturnCode` with default value `true` in the Fake API) to not pass the return code of any nested process
* `--sourcelink` to give the source link URL for tracked files rather than the file path (untracked files still have the local file path)
* Visualizer support for sourcelink URLs
* Generate Cobertura to the v4 DTD [](

# 5.0.665 (Ezoguma series release 3)
* [BUGFIX] Restore visualizer support for OpenCover format (internal consistency check failure)
* [BUGFIX] Issue #52 -- fix OpenCover, LCov and Cobertura format output in the case of exclusion by path
* [BUGFIX] Issue #50 -- take Cecil 0.10.3 with the actual fix in it
* Some improvements to the throughput of coverage data, reducing time taken by the instrumented self-tests.

# 5.0.664 (Ezoguma series release 2)
* [BUGFIX] Issue #49 -- `dotnet test` integration : internally, escape the '\' character, which is  is helpfully treated by MSBuild as a path separator and flipped to be '/' on non-Windows platforms when introduced through `/p:AltCover*Filter` arguments.
* [BUGFIX] Issue #48 -- fix embedded-PDB detection to avoid false positives
* Updating consumed libraries and related changes.

# 5.0.663 (Ezoguma series release 1)
Bringing gifts, as is appropriate for the season
* [BUGFIX] Issue #46 -- handle the case of a left-behind `__Saved` directories by failing in a more obvious fashion (and offering a `/p:AltCoverForce=true` option to force-delete such a directory)
* Support instrumenting assemblies with embedded PDBs
 * [BREAKING] the `XUnit` assemblies have embedded PDBs, so will suddenly be caught up in instrumentation without a `-e xunit` or equivalent to exclude them
* [BREAKING] Complete API overhaul to properly address known problems and to try to future-proof everything against any similar issues -- see the Wiki [here for in-process execution](,-plus-Fake-and-Cake-integration) and [here for FAKE scripting](

For previous releases (4.0.x and earlier) [go here](


This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (9)

Showing the top 5 popular GitHub repositories that depend on AltCover:

Repository Stars
Simple, powerful, cross-platform SQLite client and ORM for .NET
ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.
A simple package with guard clause extensions.
Database migration tool for .NET and .NET Core projects. Inspired by Flyway.
Delegate-based C# P/Invoke alternative - compatible with all platforms and runtimes.

Version History

Version Downloads Last updated
8.0.816 500 2/19/2021
8.0.815 465 2/16/2021
7.6.812 4,223 1/24/2021
7.5.809 879 1/17/2021
7.4.808 903 1/13/2021
7.3.806 374 1/7/2021
7.2.801 1,085 12/7/2020
7.1.795 7,513 11/9/2020
7.0.773 23,143 6/3/2020
Show less