This section describes the different configuration files used to control code coverage behavior.
The .runsettings file is an XML file used to configure test runs and code coverage in Visual Studio and other .NET test runners. It allows you to specify data collectors, logging levels, output formats, and advanced code coverage options. For more information about the .runsettings file, see the Visual Studio documentation. See the Runsettings file example section below for a sample configuration.
Coverage settings can be specified in a dedicated coverage settings file, which is a subset of the .runsettings file containing only code coverage-related settings. This file can be provided in either XML or JSON format. The JSON format is supported starting from version 18.0. Coverage settings control aspects such as log levels, output paths, inclusion/exclusion rules, and instrumentation options. Refer to the Settings and Settings under CodeCoverage tag tables for available options.
Code coverage configuration also supports the Microsoft.Testing.Platform configuration settings file, which provides a unified way to manage test and code coverage settings. Support for testconfig.json is available in version 18.0 and later. For more information, see the Microsoft Testing Platform configuration documentation. See the Testconfig.json file example section below for a sample configuration.
| Name | Values | Default | MTP.CodeCoverage Default | Description | Example (XML) | Example (JSON) | Available in version |
|---|---|---|---|---|---|---|---|
| CoverageLogLevel | Errors,Dumps,Messages,All |
Code coverage log level | <CoverageLogLevel>Dumps</CoverageLogLevel> |
"CoverageLogLevel": "Dumps" |
17.14 | ||
| InstrumentationLogLevel | Errors,Dumps,Messages,All |
CLR Instrumentation Engine log level. More info here. | <InstrumentationLogLevel>Dumps</InstrumentationLogLevel> |
"InstrumentationLogLevel": "Dumps" |
17.14 | ||
| ManagedVanguardLogLevel | Error,Info,Verbose,None |
Managed instrumentation log level. Logging of managed side of code coverage. | <ManagedVanguardLogLevel>Info</ManagedVanguardLogLevel> |
"ManagedVanguardLogLevel": "Info" |
17.14 | ||
| CoverageFileLogPath | File or directory path | File path or directory path to place where code coverage and CLR IE logs should be stored. Directory should be specified with \ at the end. |
<CoverageFileLogPath>D:\examples\logs\coverage.log</CoverageFileLogPath> |
"CoverageFileLogPath": "D:\\examples\\logs\\coverage.log" |
17.14 | ||
| CoverageFileName | File path | File path to output code coverage report | <CoverageFileName>D:\examples\report.coverage</CoverageFileName> |
"CoverageFileName": "D:\\examples\\report.coverage" |
17.14 | ||
| Format | coverage, cobertura, xml |
coverage |
coverage |
Output report format. | <Format>coverage</Format> |
"Format": "coverage" |
17.14 |
| VanguardInstallDir | Directory path | Path to directory where custom CodeCoverage.exe and covrun*.dll files exists |
<VanguardInstallDir>D:\Microsoft.CodeCoverage\CodeCoverage</VanguardInstallDir> |
"VanguardInstallDir": "D:\\Microsoft.CodeCoverage\\CodeCoverage" |
17.14 | ||
| CLRIEX86InstallDir | Directory path | Path to directory with custom CLR IE x86 binary | <CLRIEX86InstallDir>D:\Microsoft.CodeCoverage\InstrumentationEngine\x86</CLRIEX86InstallDir> |
"CLRIEX86InstallDir": "D:\\Microsoft.CodeCoverage\\InstrumentationEngine\\x86" |
17.14 | ||
| CLRIEX64InstallDir | Directory path | Path to directory with custom CLR IE x64 binary | <CLRIEX64InstallDir>D:\Microsoft.CodeCoverage\InstrumentationEngine\x64</CLRIEX64InstallDir> |
"CLRIEX64InstallDir": "D:\\Microsoft.CodeCoverage\\InstrumentationEngine\\x64" |
17.14 | ||
| CLRIEARM64InstallDir | Directory path | Path to directory with custom CLR IE ARM64 binary | <CLRIEARM64InstallDir>D:\Microsoft.CodeCoverage\InstrumentationEngine\arm64</CLRIEARM64InstallDir> |
"CLRIEARM64InstallDir": "D:\\Microsoft.CodeCoverage\\InstrumentationEngine\\arm64" |
17.14 | ||
| PerTestCodeCoverage | True, False |
False |
False |
Indicates if coverage should be collected for each test separately | <PerTestCodeCoverage>True</PerTestCodeCoverage> |
"PerTestCodeCoverage": true |
17.14 |
| IncludeTestAssembly | True, False |
True |
False |
Indicates if coverage should be collected for tests projects | <IncludeTestAssembly>True</IncludeTestAssembly> |
"IncludeTestAssembly": true |
17.14 |
| DeterministicReport | True, False |
False |
False |
Requires DeterministicSourcePaths to be set to True during the build. When enabled, paths in the report will start with a deterministic fragment /_/.. instead of full paths. More details can be found here. |
<DeterministicReport>True</DeterministicReport> |
"DeterministicReport": true |
17.14 |
| ExcludeAssembliesWithoutSources | NotSpecified, MissingAny, MissingAll, None |
NotSpecified |
MissingAll |
Excludes assemblies from the coverage report if their source files are missing. | <ExcludeAssembliesWithoutSources>MissingAll</ExcludeAssembliesWithoutSources> |
"ExcludeAssembliesWithoutSources": "MissingAll" |
17.14 |
| DoesNotReturnAttribute | SameAssembly, AllAssemblies, None |
SameAssembly |
SameAssembly |
Specifies the scope for matching functions with the DoesNotReturnAttribute to exclude from coverage. | <DoesNotReturnAttribute>SameAssembly</DoesNotReturnAttribute> |
"DoesNotReturnAttribute": "SameAssembly" |
17.14 |
| Name | Values | Default | MTP.CodeCoverage Default | Description | Example (XML) | Example (JSON) | Available in version |
|---|---|---|---|---|---|---|---|
| CommunicationTimeout | Integer | 60000 | 60000 | Specifies communication time out in milliseconds | <CommunicationTimeout>90000</CommunicationTimeout> |
"CommunicationTimeout": 90000 |
17.14 |
| PipeClientsCount | Integer | 254 | 254 | Specifies number of pipe connections started by coverage server. | <PipeClientsCount>2540</PipeClientsCount> |
"PipeClientsCount": 2540 |
17.14 |
| CollectFromChildProcesses | True, False |
True |
True |
When set to True, collects coverage information from child processes that are launched by test or production code. | <CollectFromChildProcesses>True</CollectFromChildProcesses> |
"CollectFromChildProcesses": true |
17.14 |
| UseVerifiableInstrumentation | True, False |
True |
False |
Set this to True to collect coverage information for functions marked with the "SecuritySafeCritical" attribute. Instead of writing directly into a memory location from such functions, code coverage inserts a probe that redirects to another function, which in turns writes into memory. | <UseVerifiableInstrumentation>True</UseVerifiableInstrumentation> |
"UseVerifiableInstrumentation": true |
17.14 |
| AllowLowIntegrityProcesses | True, False |
False |
False |
When set to True, collects coverage information from child processes that are launched with low-level ACLs, for example, UWP apps. | <AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses> |
"AllowLowIntegrityProcesses": true |
17.14 |
| SymbolsRestrictOriginalPathAccess | True, False |
False |
False |
Determines if looking for a .pdb file in the original debug directory. | <SymbolsRestrictOriginalPathAccess>True</SymbolsRestrictOriginalPathAccess> |
"SymbolsRestrictOriginalPathAccess": true |
17.14 |
| SymbolsRestrictReferencePathAccess | True, False |
False |
False |
Determines if looking for a .pdb file is allowed in the path where the .exe file is located. | <SymbolsRestrictReferencePathAccess>True</SymbolsRestrictReferencePathAccess> |
"SymbolsRestrictReferencePathAccess": true |
17.14 |
| SymbolsRestrictDBGAccess | True, False |
False |
False |
Determines if looking for debug information is allowed from .dbg files. | <SymbolsRestrictDBGAccess>True</SymbolsRestrictDBGAccess> |
"SymbolsRestrictDBGAccess": true |
17.14 |
| SymbolsRestrictSystemRootAccess | True, False |
False |
False |
Determines if searching for .pdb files is allowed in the system root directory. | <SymbolsRestrictSystemRootAccess>True</SymbolsRestrictSystemRootAccess> |
"SymbolsRestrictSystemRootAccess": true |
17.14 |
| EnableDynamicNativeInstrumentation | True, False |
True |
False (Disabled) |
Enable dynamic native instrumentation. | <EnableDynamicNativeInstrumentation>True</EnableDynamicNativeInstrumentation> |
"EnableDynamicNativeInstrumentation": true |
17.14 |
| EnableStaticNativeInstrumentation | True, False |
True |
False |
Enable static native instrumentation. | <EnableStaticNativeInstrumentation>True</EnableStaticNativeInstrumentation> |
"EnableStaticNativeInstrumentation": true |
17.14 |
| EnableStaticNativeInstrumentationRestore | True, False |
True |
True |
Enable static native instrumentation restore. If enabled all instrumented files are restored after collection. | <EnableStaticNativeInstrumentationRestore>True</EnableStaticNativeInstrumentationRestore> |
"EnableStaticNativeInstrumentationRestore": true |
17.14 |
| EnableDynamicManagedInstrumentation | True, False |
True |
True |
Enable dynamic managed instrumentation. | <EnableDynamicManagedInstrumentation>True</EnableDynamicManagedInstrumentation> |
"EnableDynamicManagedInstrumentation": true |
17.14 |
| EnableStaticManagedInstrumentation | True, False |
False |
False |
Enable static managed instrumentation. | <EnableStaticManagedInstrumentation>True</EnableStaticManagedInstrumentation> |
"EnableStaticManagedInstrumentation": true |
17.14 |
| EnableStaticManagedInstrumentationRestore | True, False |
True |
True |
Enable static managed instrumentation restore. If enabled all instrumented files are restored after collection. | <EnableStaticManagedInstrumentationRestore>True</EnableStaticManagedInstrumentationRestore> |
"EnableStaticManagedInstrumentationRestore": true |
17.14 |
| SymbolSearchPaths | List of strings | Additional paths to search for .pdb (symbol) files. Symbols must be found for modules to be instrumented. If .pdb files are in the same folder as the .dll or .exe files, they are automatically found. Otherwise, specify them here. Note that searching for symbols increases code coverage runtime. So keep this small and local. | <SymbolSearchPaths><Path>C:\Users\User\Documents\Visual Studio 2012\Projects\ProjectX\bin\Debug</Path></SymbolSearchPaths> |
"SymbolSearchPaths": ["C:\\Users\\User\\Documents\\Visual Studio 2012\\Projects\\ProjectX\\bin\\Debug"] |
17.14 | ||
| AllowedUsers | List of strings | Supported only for .NET Framework. Additional users that will be able to access internal shared memory and pipes. | <AllowedUsers><User>UserName1</User></AllowedUsers> |
"AllowedUsers": ["UserName1"] |
17.14 | ||
| ModulePaths | List of strings | Include and exclude lists for module paths. Empty "Include" clauses imply all; empty "Exclude" clauses imply none. Each element in the list is a regular expression (ECMAScript syntax). See /visualstudio/ide/using-regular-expressions-in-visual-studio. An item must first match at least one entry in the include list to be included. Included items must then not match any entries in the exclude list to remain included. |
<ModulePaths><Exclude><ModulePath>.*CPPUnitTestFramework.*</ModulePath></Exclude></ModulePaths> |
"ModulePaths": {"Exclude": [".*CPPUnitTestFramework.*"]} |
17.14 | ||
| PublicKeyTokens | List | Include and exclude lists for public key tokens. Matches the public key token of a signed assembly. |
<PublicKeyTokens><Exclude><PublicKeyToken>^B77A5C561934E089$</PublicKeyToken></Exclude></PublicKeyTokens> |
"PublicKeyTokens": {"Exclude": ["^B77A5C561934E089$"]} |
17.14 | ||
| CompanyNames | List of strings | Include and exclude lists for company names. Matches the company name property in the assembly. |
<CompanyNames><Exclude><CompanyName>.*microsoft.*</CompanyName></Exclude></CompanyNames> |
"CompanyNames": {"Exclude": [".*microsoft.*"]} |
17.14 | ||
| Attributes | List of strings | Include and exclude lists for attributes. Matches attributes on any code element. |
<Attributes><Exclude><Attribute>^System\.Diagnostics\.DebuggerHiddenAttribute$</Attribute></Exclude></Attributes> |
"Attributes": {"Exclude": ["^System\\.Diagnostics\\.DebuggerHiddenAttribute$"]} |
17.14 | ||
| Sources | List of strings | Include and exclude lists for source files. Matches the path of the source files in which each method is defined. |
<Sources><Exclude><Source>.*\\atlmfc\\.*</Source></Exclude></Sources> |
"Sources": {"Exclude": [".*\\\\atlmfc\\\\.*"]} |
17.14 | ||
| Functions | List of strings | Include and exclude lists for functions. Matches fully qualified names of functions. Use \. to delimit namespaces in C# or Visual Basic, :: in C++.). |
<Functions><Exclude><Function>^Fabrikam\.UnitTest\..*</Function></Exclude></Functions> |
"Functions": {"Exclude": ["^Fabrikam\\.UnitTest\\..*"]} |
17.14 | ||
| DumpStaticNativeDisassembly | True, False |
False |
False |
Generates the assembler dump of the native static instrumentation close to the module. | <DumpStaticNativeDisassembly>True</DumpStaticNativeDisassembly> |
"DumpStaticNativeDisassembly": true |
17.14 |
| FileLogPath | C:\folder\ or C:\folder\log.txt |
Set the path for the static native instrumentation. | <FileLogPath>C:\folder\log.txt</FileLogPath> |
"FileLogPath": "C:\\folder\\log.txt" |
17.14 | ||
| LogLevel | Errors,Dumps,Messages,All |
Set the log level for the static native instrumentation. | <LogLevel>All</LogLevel> |
"LogLevel": "All" |
17.14 | ||
| SkipAutoProperties | True, False |
False |
Skips auto-implemented properties from code coverage results. | <SkipAutoProperties>False</SkipAutoProperties> |
"SkipAutoProperties": false |
18.0 |
<?xml version="1.0" encoding="utf-8"?>
<!-- File name extension must be .runsettings -->
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CoverageLogLevel>Dumps</CoverageLogLevel>
<InstrumentationLogLevel>Dumps</InstrumentationLogLevel>
<ManagedVanguardLogLevel>Info</ManagedVanguardLogLevel>
<CoverageFileLogPath>D:\examples\logs\coverage.log</CoverageFileLogPath>
<CoverageFileName>D:\examples\report.coverage</CoverageFileName>
<Format>coverage</Format>
<CLRIEX86InstallDir>D:\vscodecoverage\artifacts\test\Microsoft.CodeCoverage\InstrumentationEngine\x86</CLRIEX86InstallDir>
<CLRIEX64InstallDir>D:\vscodecoverage\artifacts\test\Microsoft.CodeCoverage\InstrumentationEngine\x64</CLRIEX64InstallDir>
<VanguardInstallDir>D:\vscodecoverage\artifacts\test\Microsoft.CodeCoverage\CodeCoverage</VanguardInstallDir>
<PerTestCodeCoverage>True</PerTestCodeCoverage>
<IncludeTestAssembly>True</IncludeTestAssembly>
<CodeCoverage>
<CommunicationTimeout>90000</CommunicationTimeout>
<PipeClientsCount>2540</PipeClientsCount>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<SymbolsRestrictOriginalPathAccess>True</SymbolsRestrictOriginalPathAccess>
<SymbolsRestrictReferencePathAccess>True</SymbolsRestrictReferencePathAccess>
<SymbolsRestrictDBGAccess>True</SymbolsRestrictDBGAccess>
<SymbolsRestrictSystemRootAccess>True</SymbolsRestrictSystemRootAccess>
<EnableDynamicNativeInstrumentation>True</EnableDynamicNativeInstrumentation>
<EnableStaticNativeInstrumentation>True</EnableStaticNativeInstrumentation>
<EnableStaticNativeInstrumentationRestore>True</EnableStaticNativeInstrumentationRestore>
<EnableDynamicManagedInstrumentation>True</EnableDynamicManagedInstrumentation>
<EnableStaticManagedInstrumentation>True</EnableStaticManagedInstrumentation>
<EnableStaticManagedInstrumentationRestore>True</EnableStaticManagedInstrumentationRestore>
<SymbolSearchPaths>
<Path>C:\Users\User\Documents\Visual Studio 2012\Projects\ProjectX\bin\Debug</Path>
<Path>\\mybuildshare\builds\ProjectX</Path>
</SymbolSearchPaths>
<AllowedUsers>
<User>UserName1</User>
<User>UserName2</User>
</AllowedUsers>
<ModulePaths>
<Include>
<ModulePath>.*\.dll$</ModulePath>
<ModulePath>.*\.exe$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*CPPUnitTestFramework.*</ModulePath>
</Exclude>
</ModulePaths>
<Functions>
<Exclude>
<Function>^Fabrikam\.UnitTest\..*</Function>
<Function>^std::.*</Function>
<Function>^ATL::.*</Function>
<Function>.*::__GetTestMethodInfo.*</Function>
<Function>^Microsoft::VisualStudio::CppCodeCoverageFramework::.*</Function>
<Function>^Microsoft::VisualStudio::CppUnitTestFramework::.*</Function>
</Exclude>
</Functions>
<Attributes>
<Exclude>
<Attribute>^System\.Diagnostics\.DebuggerHiddenAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.DebuggerNonUserCodeAttribute$</Attribute>
<Attribute>^System\.CodeDom\.Compiler\.GeneratedCodeAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.CodeAnalysis\.ExcludeFromCodeCoverageAttribute$</Attribute>
</Exclude>
</Attributes>
<Sources>
<Exclude>
<Source>.*\\atlmfc\\.*</Source>
<Source>.*\\vctools\\.*</Source>
<Source>.*\\public\\sdk\\.*</Source>
<Source>.*\\microsoft sdks\\.*</Source>
<Source>.*\\vc\\include\\.*</Source>
</Exclude>
</Sources>
<CompanyNames>
<Exclude>
<CompanyName>.*microsoft.*</CompanyName>
</Exclude>
</CompanyNames>
<PublicKeyTokens>
<Exclude>
<PublicKeyToken>^B77A5C561934E089$</PublicKeyToken>
<PublicKeyToken>^B03F5F7F11D50A3A$</PublicKeyToken>
<PublicKeyToken>^31BF3856AD364E35$</PublicKeyToken>
<PublicKeyToken>^89845DCD8080CC91$</PublicKeyToken>
<PublicKeyToken>^71E9BCE111E9429C$</PublicKeyToken>
<PublicKeyToken>^8F50407C4E9E73B6$</PublicKeyToken>
<PublicKeyToken>^E361AF139669C375$</PublicKeyToken>
</Exclude>
</PublicKeyTokens>
<DumpStaticNativeDisassembly>False</DumpStaticNativeDisassembly>
<FileLogPath>C:\logs\</FileLogPath>
<LogLevel>All</LogLevel>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>To enable all available logs
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector">
<Configuration>
<CoverageLogLevel>Dumps</CoverageLogLevel>
<InstrumentationLogLevel>Dumps</InstrumentationLogLevel>
<ManagedVanguardLogLevel>Verbose</ManagedVanguardLogLevel>
<CoverageFileLogPath>C:\LogFolder\</CoverageFileLogPath>
<PerTestCodeCoverage>False</PerTestCodeCoverage>
<CodeCoverage>
<FileLogPath>C:\LogFolder\</FileLogPath>
<LogLevel>All</LogLevel>
<DumpStaticNativeDisassembly>true</DumpStaticNativeDisassembly>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings><?xml version="1.0" encoding="utf-8"?>
<Configuration>
<CoverageLogLevel>Dumps</CoverageLogLevel>
<InstrumentationLogLevel>Dumps</InstrumentationLogLevel>
<ManagedVanguardLogLevel>Info</ManagedVanguardLogLevel>
<CoverageFileLogPath>D:\examples\logs\coverage.log</CoverageFileLogPath>
<CoverageFileName>D:\examples\report.coverage</CoverageFileName>
<Format>coverage</Format>
<CLRIEX86InstallDir>D:\vscodecoverage\artifacts\test\Microsoft.CodeCoverage\InstrumentationEngine\x86</CLRIEX86InstallDir>
<CLRIEX64InstallDir>D:\vscodecoverage\artifacts\test\Microsoft.CodeCoverage\InstrumentationEngine\x64</CLRIEX64InstallDir>
<VanguardInstallDir>D:\vscodecoverage\artifacts\test\Microsoft.CodeCoverage\CodeCoverage</VanguardInstallDir>
<PerTestCodeCoverage>True</PerTestCodeCoverage>
<IncludeTestAssembly>True</IncludeTestAssembly>
<CodeCoverage>
<CommunicationTimeout>90000</CommunicationTimeout>
<PipeClientsCount>2540</PipeClientsCount>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<SymbolsRestrictOriginalPathAccess>True</SymbolsRestrictOriginalPathAccess>
<SymbolsRestrictReferencePathAccess>True</SymbolsRestrictReferencePathAccess>
<SymbolsRestrictDBGAccess>True</SymbolsRestrictDBGAccess>
<SymbolsRestrictSystemRootAccess>True</SymbolsRestrictSystemRootAccess>
<EnableDynamicNativeInstrumentation>True</EnableDynamicNativeInstrumentation>
<EnableStaticNativeInstrumentation>True</EnableStaticNativeInstrumentation>
<EnableStaticNativeInstrumentationRestore>True</EnableStaticNativeInstrumentationRestore>
<EnableDynamicManagedInstrumentation>True</EnableDynamicManagedInstrumentation>
<EnableStaticManagedInstrumentation>True</EnableStaticManagedInstrumentation>
<EnableStaticManagedInstrumentationRestore>True</EnableStaticManagedInstrumentationRestore>
<SymbolSearchPaths>
<Path>C:\Users\User\Documents\Visual Studio 2012\Projects\ProjectX\bin\Debug</Path>
<Path>\\mybuildshare\builds\ProjectX</Path>
</SymbolSearchPaths>
<AllowedUsers>
<User>UserName1</User>
<User>UserName2</User>
</AllowedUsers>
<ModulePaths>
<Include>
<ModulePath>.*\.dll$</ModulePath>
<ModulePath>.*\.exe$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*CPPUnitTestFramework.*</ModulePath>
</Exclude>
</ModulePaths>
<Functions>
<Exclude>
<Function>^Fabrikam\.UnitTest\..*</Function>
<Function>^std::.*</Function>
<Function>^ATL::.*</Function>
<Function>.*::__GetTestMethodInfo.*</Function>
<Function>^Microsoft::VisualStudio::CppCodeCoverageFramework::.*</Function>
<Function>^Microsoft::VisualStudio::CppUnitTestFramework::.*</Function>
</Exclude>
</Functions>
<Attributes>
<Exclude>
<Attribute>^System\.Diagnostics\.DebuggerHiddenAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.DebuggerNonUserCodeAttribute$</Attribute>
<Attribute>^System\.CodeDom\.Compiler\.GeneratedCodeAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.CodeAnalysis\.ExcludeFromCodeCoverageAttribute$</Attribute>
</Exclude>
</Attributes>
<Sources>
<Exclude>
<Source>.*\\atlmfc\\.*</Source>
<Source>.*\\vctools\\.*</Source>
<Source>.*\\public\\sdk\\.*</Source>
<Source>.*\\microsoft sdks\\.*</Source>
<Source>.*\\vc\\include\\.*</Source>
</Exclude>
</Sources>
<CompanyNames>
<Exclude>
<CompanyName>.*microsoft.*</CompanyName>
</Exclude>
</CompanyNames>
<PublicKeyTokens>
<Exclude>
<PublicKeyToken>^B77A5C561934E089$</PublicKeyToken>
<PublicKeyToken>^B03F5F7F11D50A3A$</PublicKeyToken>
<PublicKeyToken>^31BF3856AD364E35$</PublicKeyToken>
<PublicKeyToken>^89845DCD8080CC91$</PublicKeyToken>
<PublicKeyToken>^71E9BCE111E9429C$</PublicKeyToken>
<PublicKeyToken>^8F50407C4E9E73B6$</PublicKeyToken>
<PublicKeyToken>^E361AF139669C375$</PublicKeyToken>
</Exclude>
</PublicKeyTokens>
<DumpStaticNativeDisassembly>False</DumpStaticNativeDisassembly>
<FileLogPath>C:\logs\</FileLogPath>
<LogLevel>All</LogLevel>
</CodeCoverage>
</Configuration>{
"Configuration": {
"CoverageLogLevel": "Dumps",
"InstrumentationLogLevel": "Dumps",
"ManagedVanguardLogLevel": "Info",
"CoverageFileLogPath": "D:\\examples\\logs\\coverage.log",
"CoverageFileName": "D:\\examples\\report.coverage",
"Format": "coverage",
"CLRIEX86InstallDir": "D:\\vscodecoverage\\artifacts\\test\\Microsoft.CodeCoverage\\InstrumentationEngine\\x86",
"CLRIEX64InstallDir": "D:\\vscodecoverage\\artifacts\\test\\Microsoft.CodeCoverage\\InstrumentationEngine\\x64",
"VanguardInstallDir": "D:\\vscodecoverage\\artifacts\\test\\Microsoft.CodeCoverage\\CodeCoverage",
"PerTestCodeCoverage": true,
"IncludeTestAssembly": true,
"CodeCoverage": {
"CommunicationTimeout": 90000,
"PipeClientsCount": 2540,
"CollectFromChildProcesses": true,
"UseVerifiableInstrumentation": true,
"AllowLowIntegrityProcesses": true,
"SymbolsRestrictOriginalPathAccess": true,
"SymbolsRestrictReferencePathAccess": true,
"SymbolsRestrictDBGAccess": true,
"SymbolsRestrictSystemRootAccess": true,
"EnableDynamicNativeInstrumentation": true,
"EnableStaticNativeInstrumentation": true,
"EnableStaticNativeInstrumentationRestore": true,
"EnableDynamicManagedInstrumentation": true,
"EnableStaticManagedInstrumentation": true,
"EnableStaticManagedInstrumentationRestore": true,
"SymbolSearchPaths": [
"C:\\Users\\User\\Documents\\Visual Studio 2012\\Projects\\ProjectX\\bin\\Debug",
"\\\\mybuildshare\\builds\\ProjectX"
],
"AllowedUsers": [
"UserName1",
"UserName2"
],
"ModulePaths": {
"Include": [
".*\\.dll$",
".*\\.exe$"
],
"Exclude": [
".*CPPUnitTestFramework.*"
]
},
"Functions": {
"Exclude": [
"^Fabrikam\\.UnitTest\\..*",
"^std::.*",
"^ATL::.*",
".*::__GetTestMethodInfo.*",
"^Microsoft::VisualStudio::CppCodeCoverageFramework::.*",
"^Microsoft::VisualStudio::CppUnitTestFramework::.*"
]
},
"Attributes": {
"Exclude": [
"^System\\.Diagnostics\\.DebuggerHiddenAttribute$",
"^System\\.Diagnostics\\.DebuggerNonUserCodeAttribute$",
"^System\\.CodeDom\\.Compiler\\.GeneratedCodeAttribute$",
"^System\\.Diagnostics\\.CodeAnalysis\\.ExcludeFromCodeCoverageAttribute$"
]
},
"Sources": {
"Exclude": [
".*\\\\atlmfc\\\\.*",
".*\\\\vctools\\\\.*",
".*\\\\public\\\\sdk\\\\.*",
".*\\\\microsoft sdks\\\\.*",
".*\\\\vc\\\\include\\\\.*"
]
},
"CompanyNames": {
"Exclude": [
".*microsoft.*"
]
},
"PublicKeyTokens": {
"Exclude": [
"^B77A5C561934E089$",
"^B03F5F7F11D50A3A$",
"^31BF3856AD364E35$",
"^89845DCD8080CC91$",
"^71E9BCE111E9429C$",
"^8F50407C4E9E73B6$",
"^E361AF139669C375$"
]
},
"DumpStaticNativeDisassembly": false,
"FileLogPath": "C:\\logs\\",
"LogLevel": "All"
}
}
}{
"codeCoverage": {
"Configuration": {
"CoverageLogLevel": "Dumps",
"InstrumentationLogLevel": "Dumps",
"ManagedVanguardLogLevel": "Info",
"CoverageFileLogPath": "D:\\examples\\logs\\coverage.log",
"CoverageFileName": "D:\\examples\\report.coverage",
"Format": "coverage",
"CLRIEX86InstallDir": "D:\\vscodecoverage\\artifacts\\test\\Microsoft.CodeCoverage\\InstrumentationEngine\\x86",
"CLRIEX64InstallDir": "D:\\vscodecoverage\\artifacts\\test\\Microsoft.CodeCoverage\\InstrumentationEngine\\x64",
"VanguardInstallDir": "D:\\vscodecoverage\\artifacts\\test\\Microsoft.CodeCoverage\\CodeCoverage",
"PerTestCodeCoverage": true,
"IncludeTestAssembly": true,
"CodeCoverage": {
"CommunicationTimeout": 90000,
"PipeClientsCount": 2540,
"CollectFromChildProcesses": true,
"UseVerifiableInstrumentation": true,
"AllowLowIntegrityProcesses": true,
"SymbolsRestrictOriginalPathAccess": true,
"SymbolsRestrictReferencePathAccess": true,
"SymbolsRestrictDBGAccess": true,
"SymbolsRestrictSystemRootAccess": true,
"EnableDynamicNativeInstrumentation": true,
"EnableStaticNativeInstrumentation": true,
"EnableStaticNativeInstrumentationRestore": true,
"EnableDynamicManagedInstrumentation": true,
"EnableStaticManagedInstrumentation": true,
"EnableStaticManagedInstrumentationRestore": true,
"SymbolSearchPaths": [
"C:\\Users\\User\\Documents\\Visual Studio 2012\\Projects\\ProjectX\\bin\\Debug",
"\\\\mybuildshare\\builds\\ProjectX"
],
"AllowedUsers": [
"UserName1",
"UserName2"
],
"ModulePaths": {
"Include": [
".*\\.dll$",
".*\\.exe$"
],
"Exclude": [
".*CPPUnitTestFramework.*"
]
},
"Functions": {
"Exclude": [
"^Fabrikam\\.UnitTest\\..*",
"^std::.*",
"^ATL::.*",
".*::__GetTestMethodInfo.*",
"^Microsoft::VisualStudio::CppCodeCoverageFramework::.*",
"^Microsoft::VisualStudio::CppUnitTestFramework::.*"
]
},
"Attributes": {
"Exclude": [
"^System\\.Diagnostics\\.DebuggerHiddenAttribute$",
"^System\\.Diagnostics\\.DebuggerNonUserCodeAttribute$",
"^System\\.CodeDom\\.Compiler\\.GeneratedCodeAttribute$",
"^System\\.Diagnostics\\.CodeAnalysis\\.ExcludeFromCodeCoverageAttribute$"
]
},
"Sources": {
"Exclude": [
".*\\\\atlmfc\\\\.*",
".*\\\\vctools\\\\.*",
".*\\\\public\\\\sdk\\\\.*",
".*\\\\microsoft sdks\\\\.*",
".*\\\\vc\\\\include\\\\.*"
]
},
"CompanyNames": {
"Exclude": [
".*microsoft.*"
]
},
"PublicKeyTokens": {
"Exclude": [
"^B77A5C561934E089$",
"^B03F5F7F11D50A3A$",
"^31BF3856AD364E35$",
"^89845DCD8080CC91$",
"^71E9BCE111E9429C$",
"^8F50407C4E9E73B6$",
"^E361AF139669C375$"
]
},
"DumpStaticNativeDisassembly": false,
"FileLogPath": "C:\\logs\\",
"LogLevel": "All"
}
}
}
}