NCover Documentation

The custom MSBuild build tasks that shipped with NCover 3.0 had many differences and improvements from the NCover 2.1 version. Unfortunately, although the <NCover /> task remained backward compatible, the <NCoverExplorer /> task did not. Moreover, while the <NCover /> task is backward compatible, many of the properties were deprecated. This article will explain some of the common pitfalls and 'gotchas' encountered when upgrading from the NCover 2.1 MSBuild tasks to the NCover 3.0 MSBuild tasks.

Assemblies="@(Assemblies)"

AssemblyList=""
AutoExclude=""

CommandLineArgs=""

CommandLineExe=""
CoverageFile=""

CoverageHtmlDirectory=""
CoverageType=""
ExcludeAttributes=""

FileExclusionPatterns=""
LogFile=""
LogLevel=""

MethodExclusionPatterns=""

ProfiledProcessModule=""
ProfileIIS=""
ProfileService=""
ProjectName=""
RegisterProfiler=""

ServiceTimeout=""

SymbolSearchPolicy="" // takes an int
ToolPath="C:\Dev\NCover\Main\Debug"

TypeExclusionPatterns=""
WorkingDirectory=""
/>

The following task is equivalent to the one above and has been completely migrated to the NCover 3.0 format.

Assemblies="@(Assemblies)"

IncludeAssemblies=""
AutoExclude=""

TestRunnerArgs=""

TestRunnerExe=""
CoverageFile=""

HtmlReportDir=""
CoverageType=""
ExcludeAttributes=""

ExcludeFiles=""
LogFile=""
LogLevel=""

ExcludeMethods=""

CoverChildProcess=""
ProfileIIS=""
ProfileService=""
ProjectName=""
RegisterProfiler=""

ServiceTimeout=""

SymbolSearchLocations="Registry, SymbolServer, BuildPath, ExecutingDir"
ToolPath="C:\Dev\NCover\Main\Debug"

ExcludeTypes=""
WorkingDirectory=""
/>

Assembly
*.Tests

Assembly
.*\.Tests
True

CoverageFiles="@(CoverageFiles)"

Exclusions="\$(CoverageExclusions)"

FailCombinedMinimum="true"

FailMinimum="true"

Filter=""

HtmlReportName="htmlreportname.html"
MergeFileName=""

MinimumCoverage="70"

ModuleThresholds="@(ModuleThreshold)"

OutputDir=""
ProjectName=""

ReportType="ModuleClassSummary"

SatisfactoryCoverage="80"

SatisfactoryFunctionCoverage="96"
ShowExcluded="true"

Sort=""

XmlReportName="xmlreportname.xml"
/>

The following task is equivalent to the one above and has been completely migrated to the NCover 3.0 format.

Assembly
*.Tests

Assembly
.*\.Tests
True

SymbolCoverage
View
70

SymbolCoverage
Module
70

MethodCoverage
View
96

SymbolCoverage
View
80

SymbolCoverage
MyProject.1.dll
Module
75

SymbolCoverage
MyProject.2.dll
Module
85

SymbolModuleNamespaceClass
Xml
xmlreportname.xml

SymbolModuleNamespaceClass
Html
htmlreportname.html

### Conversion examples: v2.1 "Exclusions" to v3.0 "CoverageFilters"

Assembly
*.Tests

Assembly
.*\.Tests
True

The v2.0 project above is equivalent to the v3.0 project below.

Assembly
*.Tests

Assembly
.*\.Tests
True

The v2.0 project above is equivalent to the v3.0 project below.

Assembly
*.Tests

Namespace
TestNamespace.*

Class
MyNamespace.OutputClasses*

### Conversion examples: v2.1 report functionality to v3.0 "Reports"

The v2.0 project above is equivalent to the v3.0 project below.

MethodModuleNamespaceClassMethod
Xml
reportforccnet.xml

The v2.0 project above is equivalent to the v3.0 project below.

SymbolModuleNamespace
Html
\summary.xml

SymbolModuleNamespace
Xml
\summary.html

OutputDir="\coverage\reports\build4356"
/>

The v2.0 project above is equivalent to the v3.0 project below.

FullCoverageReport

### Conversion examples: v2.1 "SatisfactoryCoverage" to v3.0 "SatisfactoryCoverage"

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
65

The v2.0 project above is equivalent to the v3.0 project below.

MethodCoverage
45

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
45

MethodCoverage
100

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
77

SymbolCoverage
Module
project1.dll
45

SymbolCoverage
Module
project2.dll
67

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
77

SymbolCoverage
Module
project1.dll
45

SymbolCoverage
Module
project2.dll
67

### Conversion examples: v2.1 "MinimumCoverage" to v3.0 "MinimumCoverage"

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
70

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
75
Module

The v2.0 project above is equivalent to the v3.0 project below.

SymbolCoverage
45

SymbolCoverage
Module
45

If you still need technical assistance, we can help: