diff --git a/lib/Gallio_3.2.517.0/NCover/Gallio.NCoverIntegration.dll b/lib/Gallio_3.2.517.0/NCover/Gallio.NCoverIntegration.dll
new file mode 100644
index 00000000..f82d9528
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/Gallio.NCoverIntegration.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/Gallio.NCoverIntegration.plugin b/lib/Gallio_3.2.517.0/NCover/Gallio.NCoverIntegration.plugin
new file mode 100644
index 00000000..ae0bcade
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/Gallio.NCoverIntegration.plugin
@@ -0,0 +1,143 @@
+
+
+
+ NCover Integration Plugin
+ 3.2.0.0
+ Provides support for running tests with NCover code coverage.
+ plugin://Gallio.NCoverIntegration/Resources/ncover.ico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${NCoverIntegration.NCoverTestIsolationProvider.v1.5.8}
+
+
+ NCover
+
+ Runs tests in an external process with NCover v1.5.8. NCover v1.5.8 is included and does not need to be installed.
+
+ Supported test runner properties:
+ - NCoverArguments: Specifies additional command-line arguments for NCover. eg. "//eas Gallio"
+ - NCoverCoverageFile: Specifies the path of the coverage file to write. The default is 'Coverage.xml' in the current working directory.
+
+
+
+
+
+
+ V1
+
+
+
+
+
+
+
+ ${NCoverIntegration.NCoverTestIsolationProvider.v2}
+
+
+ NCover2
+
+ Runs tests in an external process with NCover v2. NCover v2 must be installed separately.
+
+ Supported test runner properties:
+ - NCoverArguments: Specifies additional command-line arguments for NCover. eg. "//eas Gallio"
+ - NCoverCoverageFile: Specifies the path of the coverage file to write. The default is 'Coverage.xml'.
+
+
+
+
+
+
+ V2
+
+
+
+
+
+
+
+ ${NCoverIntegration.NCoverTestIsolationProvider.v3}
+
+
+ NCover3
+
+ Runs tests in an external process with NCover v3. NCover v3 must be installed separately.
+
+ Supported test runner properties:
+ - NCoverArguments: Specifies additional command-line arguments for NCover. eg. "//eas Gallio"
+ - NCoverCoverageFile: Specifies the path of the coverage file to write. The default is 'Coverage.xml'.
+
+
+
+
+
+
+ V3
+
+
+
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/Resources/ncover.ico b/lib/Gallio_3.2.517.0/NCover/Resources/ncover.ico
new file mode 100644
index 00000000..48253827
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/Resources/ncover.ico differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover Readme.txt b/lib/Gallio_3.2.517.0/NCover/libs/NCover Readme.txt
new file mode 100644
index 00000000..73d17153
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCover Readme.txt
@@ -0,0 +1,8 @@
+NCover v1.5.8 is included in the Gallio distribution (along with its license file).
+
+The NCover.Console.exe's CORFLAGs have been modified to force it to run as a
+32bit process using the Windows SDK corflags command. It has not been modified
+in any other way.
+
+You may also use other versions of NCover if they have been separately
+installed on the local machine.
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/CoverLib.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCover/CoverLib.dll
new file mode 100644
index 00000000..e038b330
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCover/CoverLib.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/Coverage.xsl b/lib/Gallio_3.2.517.0/NCover/libs/NCover/Coverage.xsl
new file mode 100644
index 00000000..164ff148
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCover/Coverage.xsl
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+ NCover Code Coverage Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ javascript:toggle(
+ )
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Visits |
+ Line |
+ End |
+ Column |
+ End |
+ Document |
+
+
+
+
+ |
+
+
+ exdatacell
+ hldatacell
+ datacell
+
+
+
+ ---
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ javascript:toggle(
+ )
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+ Modules summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+
+ NCover Code Coverage Report
+
+
+
+
+
+
+ Top
+
+
+
+
+
+
+
+
+
+ | Excluded |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/MSVCP80.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCover/MSVCP80.dll
new file mode 100644
index 00000000..f0b52ebf
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCover/MSVCP80.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/MSVCR80.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCover/MSVCR80.dll
new file mode 100644
index 00000000..53c005ef
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCover/MSVCR80.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/Microsoft.VC80.CRT.manifest b/lib/Gallio_3.2.517.0/NCover/libs/NCover/Microsoft.VC80.CRT.manifest
new file mode 100644
index 00000000..6a8a0e23
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCover/Microsoft.VC80.CRT.manifest
@@ -0,0 +1,8 @@
+
+
+
+
+ n9On8FItNsK/DmT8UQxu6jYDtWQ=
+ 0KJ/VTwP4OUHx98HlIW2AdW1kuY=
+ YJuB+9Os2oxW4mY+2oC/r8lICZE=
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Console.exe b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Console.exe
new file mode 100644
index 00000000..80330112
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Console.exe differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Console.exe.config b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Console.exe.config
new file mode 100644
index 00000000..eb0a31af
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Console.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Framework.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Framework.dll
new file mode 100644
index 00000000..a9539e68
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCover.Framework.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCoverFAQ.html b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCoverFAQ.html
new file mode 100644
index 00000000..f63b8f13
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCover/NCoverFAQ.html
@@ -0,0 +1,429 @@
+
+
+
+
+
+
+
+
+
+
+ NCover FAQ
+ If you have questions that this document does not address, contact
+ Peter Waldschmidt or try the NCover Forums.
+ 1. What is code coverage analysis?
+ A code coverage analyzer monitors your code at runtime and
+ records information about which lines of code were executed. NCover shows each
+ sequence point in your application along with the number of times that point
+ was executed. Sequence points are generated by the compiler and stored in the
+ debug information (.pdb) files. A sequence point basically corresponds to a
+ single program statement (often a line of code) in your high-level language.
+ 2. Why would I want to do code coverage analysis?
+ Unit test suites are often used as a quality tool during the
+ development process to keep the codebase stable as it changes and expands.
+ Tools such as NUnit are often used to run and
+ report on the test suites. However, when implementing unit testing in your
+ build process, you have no way of knowing how much of your code the unit tests
+ are actually testing. This is where code coverage comes in. You can run NUnit
+ within NCover and use the code coverage report to determine which code was not
+ tested by that particular test suite.
+ 3. What versions of the CLR does NCover support?
+
+ NCover 1.5.x requires the .NET framework version 2.0.50727 to be installed; however,
+ the application being profiled can be written against any shipping version of the
+ framework. NCover
+ has been tested profiling coverage of .NET 2.0, .NET 1.1 and .NET 1.0 applications.
+ 4. Which version of NCover should I install?
+
+ If you have the .NET 2.0 framework installed on your machine then you should use
+ the latest NCover version available. NCover as of version 1.5 can profile .NET 2.0, 1.1 and 1.0 applications.
+
+ For development teams who do not have the .NET framework 2.0 installed but do have
+ the .NET framework version 1.1.4322, you can
+ try NCover 1.3.3. Note however that this version is no longer supported as
+ it has a number of known issues and limitations.
+ 5. What is the command line syntax for NCover?
+ Here is the usage info from the NCover command line (for NCover versions from 1.5.6
+ only):
+ NCover.Console [<command line> [<command args>]]
+ [//svc <service name>]
+ [//iis]
+ [//a <assembly list>]
+ [//w <working directory>]
+ [//ea <exclusion list>]
+ [//reg]
+ [//x <xml output file>]
+ [//s [<settings file>]] [//r [<settings file>]]
+ [//v] [//q]
+ [//l <log file>]
+
+//svc For profiling windows services
+//iis For profiling web applications
+
+//a List of assemblies to profile separated by semi-colons i.e. "MyAssembly1;MyAssembly2". Do not include paths or suffixes.
+//w Working directory for profiled application
+//ea List of attributes marking classes or methods to exclude from coverage
+
+//reg Register profiler temporarily for user. (helps with xcopy deployment)
+//x Specify coverage output file. (default: coverage.xml).
+//pm Specify name of process to profile (i.e. myapp.exe)
+
+//s Save settings to a file (defaults: NCover.Settings)
+//r Use settings file, overriding other settings (default: NCover.Settings)
+
+//l Specify profiler log file (default: coverage.log).
+//q No logging (quiet)
+//v Enable verbose logging (show instrumented code)
+
+
+ - <command line> - This argument specifies the command-line of the .NET application
+ you want to analyze.
+ Any command line arguments not starting with // will be passed
+ through to that application. NCover will profile the running application until it has exited. See below for examples.
- //svc - This option is an alternative to the <command line>
+ for profiling windows services, which cannot be run directly as executables. NCover
+ will start the service (stopping it first if already running) and profile coverage
+ until the windows service is stopped.
+ - //iis - This option is an alternative to the <command line> for profiling
+ web applications. NCover will start the IISAdmin and W3C
+ services (stopping first if currently running) and profile coverage until the IISAdmin
+ service is stopped.
+
+ - //a - This command-line argument specifies the assemblies that you want to analyze.
+ NCover can only analyze assemblies that have .pdb files included with them. If
+ you do not specify the //a argument, NCover will attempt to analyze every loaded
+ assembly that has debug information available. Note that the assembly name arguments are
+ the module name within the assembly, not the physical file name. e.g. "MyAssembly"
+ rather than "MyAssembly.dll".
- //w - If the application being profiled requires the
+ working directory to be set to something other than the current directory you are
+ executing the command line from then you can override it with this argument.
+ - //ea - You can choose to exclude classes and methods
+ from coverage statistics by defining .NET attribute(s) and applying it to the affected
+ code. When using this argument you must specify the full type namespace of these
+ attribute(s) separated by semi-colons. See below for an example.
+
+ - //reg - NCover requires a COM registration of the CoverLib.dll assembly containing
+ the profiler, which is performed automatically by the default .msi installation.
+ If you require an xcopy style deployment of NCover like many other .NET tools, then
+ you can use this argument which will temporarily register the profiler while performing
+ coverage. This feature was added in NCover 1.5.6.
+ - //x - The output of NCover is an xml file (example below). Use this argument to
+ specify an alternate filename to "coverage.xml" in the current directory.
+
+ - //pm - This setting tells NCover to ignore processes that don't have the specified process module name.
+ This is the name of the executable (i.e. myapp.exe). This setting is useful in cases, where your NCover
+ command spawns a series of child processes. Using this setting will help NCover determine which process to profile.
+
+ - //s - You may find it more convenient to use a settings file rather than specifying
+ a long list of command line arguments for running NCover. If you get the NCover
+ command line working as you would like it and then use the //s argument it will
+ save the required arguments as an xml file that can then be used by the //r argument
+ below.
+ - //r - For use when you have used //s to construct an NCover settings file containing
+ your command line arguments. e.g. "ncover.console.exe //r NCover.Settings"
+
+ - //l - The coverage log file can provide an insight if the desired coverage output
+ is not obtained. Useful information you may find to assist you includes which assemblies
+ were loaded by NCover, their file paths and which of those it found the .pdb build
+ symbols for. Use this argument to specify an alternative log file name or location
+ to coverage.log in the current directory.
+ - //q - Suppresses writing the coverage.log file.
+ - //v - This command-line argument makes the profiler emit all the original IL and
+ modified IL instructions to the coverage log. This is useful for debugging
+ purposes. Beware that this can make your coverage log file very large!
+
+
+ 6. Does NCover required a special compilation step for my code?
+ No. Some code coverage tools change your source code and force
+ you to recompile it into a special build. NCover is designed to work
+ on shipping code. NCover uses the .NET Framework profiling API to monitor
+ your code. It does require build symbols, but can be run on release code
+ without any modifications.
+ 7. How does NCover work?
+ NCover uses the .NET Framework profiler API to monitor an
+ application's execution. When a method is loaded by the CLR, NCover retrieves
+ the IL and replaces it with instrumented IL code. NCover does not change
+ your original IL code, it simply inserts new code to update a visit
+ counter at each sequence point. Upon
+ request, (usually after the .NET process has shut down) the profiler outputs statistics
+ to the coverage file.
+
+
+ 8. What is the output of NCover?
+ NCover generally writes out three files after analysis
+ completes.
+
+ -
+ Coverage.log - This file is a log of the events and messages from the profiler
+ during the analysis process. Most of the time, error messages are recorded in
+ this log. If you enable verbose logging, the coverage log will contain
+ disassembly of the original and instrumented IL code. Verbose logging is not recommended for
+ normal use.
-
+ Coverage.xml - This file is the analysis output of NCover. You can see an
+ example of the output below.
+
-
+ Coverage.xsl - This file is a simple XML transformation that makes the XML
+ output easily readable.
+
+
+ Example XML output
+ <method class="NCoverTest.ClassLoaded" name="HasDeadCode">
+ <seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs"
+ column="13" line="48" endcolumn="58" endline="48" visitcount="1" />
+ <seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs"
+ column="13" line="49" endcolumn="22" endline="49" visitcount="1" />
+ <seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs"
+ column="17" line="50" endcolumn="24" endline="50" visitcount="1" />
+ <seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs"
+ column="13" line="51" endcolumn="48" endline="51" visitcount="0" />
+ <seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs"
+ column="9" line="52" endcolumn="10" endline="52" visitcount="0" />
+</method>
+
+
+ Example transformed output
+
+
NCoverTest.ClassLoaded.HasDeadCode
+
+
+
+ | Visit Count |
+ Line |
+ Column |
+ End Line |
+ End Column |
+ Document |
+
+
+ | 1 |
+ 48 |
+ 13 |
+ 48 |
+ 58 |
+ C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs |
+
+
+ | 1 |
+ 49 |
+ 13 |
+ 49 |
+ 22 |
+ C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs |
+
+
+ | 1 |
+ 50 |
+ 17 |
+ 50 |
+ 24 |
+ C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs |
+
+
+ | 0 |
+ 51 |
+ 13 |
+ 51 |
+ 48 |
+ C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs |
+
+
+ | 0 |
+ 52 |
+ 9 |
+ 52 |
+ 10 |
+ C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs |
+
+
+
+
+ Suggested usages of the coverage.xml output are to display it in the
+ NCoverExplorer gui with the source
+ code highlighted, to generate html reports, or to include it in your continuous build server reports such as CruiseControl.Net.
+ For more information on these options see below in the FAQ.
+
+
+ 9. How do I use coverage exclusions?
+
+ First you should define an attribute to markup your excluded code with. You will
+ likely want to put this in a common assembly to make it reusable, or indeed within
+ a "CommonAssemblyInfo.cs" that you include in all your application assemblies.
+
+ namespace MyNamespace {
+ class CoverageExcludeAttribute : System.Attribute { }
+}
+
+ Apply the attribute to the C# classes and/or methods you wish to mark as excluded
+ from code coverage statistics:
+
+ [CoverageExclude]
+ private void SomeMethodToExclude() {}
+
+ Finally, ensure you pass the full qualified attribute information in the NCover command line:
+
+ NCover.Console MyApplication.exe //ea MyNamespace.CoverageExcludeAttribute
+
+ Note that if you are using the TestDriven.Net
+ VS.Net add-in to "Test with Coverage" it will automatically
+ pass through "//ea CoverageExcludeAttribute"
+ which you should define without a namespace like above. For further information refer to this
+
+ blog entry.
+
+ 10. Examples
+
+ Coverage while running a simple executable until it exits:
+
+ NCover.Console MyApplication.exe
+
+ Coverage while running all the unit tests in an assembly using NUnit, profiling
+ all loaded assemblies with .pdb build symbols:
+
+ NCover.Console nunit-console.exe MyApplication.Tests.dll
+
+ Coverage of only a subset of loaded assemblies while running unit tests:
+
+ NCover.Console nunit-console.exe MyApplication.Tests.dll //a MyApplication.Core;MyApplication.Utilities
+
+ Coverage of a windows service. Stop the service to generate the coverage output:
+
+ NCover.Console //svc MyServiceName
+
+ Coverage of an ASP.Net application. Stop the IIS service to generate the coverage
+ output:
+
+ NCover.Console //iis
+
+ 11. Where can I get help or support?
+
+ Your best approach is to browse the
+ NCover forums as well as the
+ blog by the author Peter Waldschmidt. If you cannot find a similar issue
+ mentioned feel free to post your query and perhaps someone can help.
+
+ 12. How do I "xcopy deploy" NCover like my other build tools?
+
+ Many developers prefer to have their build tools such as NUnit, NAnt etc stored
+ in source control in a Tools folder along with the source code. This ensures that
+ a new developer can obtain and build the application without having to install additional
+ tools on their own machines.
+
+ NCover can also be deployed in this fashion. However the one gotcha with NCover
+ versus other tools is that the profiler within CoverLib.dll must be COM registered
+ on the local machine before you execute it. Prior to NCover 1.5.6 this was usually
+ achieved as part of your build script, which would call regsvr32 with the path to
+ the CoverLib.dll in your Tools folder. Alternatively the <ncover> NAnt and
+ MSBuild tasks described below will do this for you. As of NCover 1.5.6 you can also
+ use the //reg option in the command line arguments which will temporarily register
+ the profiler. Note that the //reg option will not work for IIS or Windows Service
+ profiling unless you are running NCover under the same Windows login account as
+ the IIS worker process, or your Windows Service.
+
+ 13. How do I see my source code highlighted with the coverage results?
+
+ NCoverExplorer is a gui and console-based
+ .NET application developed by Grant Drake. NCoverExplorer
+ parses the coverage.xml files output from NCover and displays the results integrated
+ with your source code. It also includes a number of additional features to merge,
+ filter, sort and generate html reports. The console version is
+ designed to be used as part of an automated build process. The support forums for
+ NCoverExplorer are located with the NCover ones at http://ncover.org/.
+
+ 14. How do I run NCover from within the Visual Studio.Net IDE?
+
+ The TestDriven.Net add-in by
+ Jamie Cansdale offers a right-click capability within the IDE to execute
+ your unit tests with code coverage. The results of the NCover code coverage are
+ displayed with the bundled NCoverExplorer gui for analysis and reporting.
+
+ 15. How do I run NCover from a NAnt or MSBuild task?
+
+ You can use an <exec> task with NAnt
+ or an <Exec> task with MSBuild. Alternatively you may want to use the custom
+ <ncover> task for NAnt or <NCover> task for MSBuild developed by Grant
+ Drake for a more developer friendly syntax. The source code, compiled assemblies
+ and documentation are located in the NCoverExplorer.Extras.zip available from http://ncoverexplorer.org/.
+
+ 16. How do I include NCover output in my CruiseControl.Net build reports?
+
+ CruiseControl.Net is a continuous integration
+ build server which offers web-based reporting of the outputs of a build such as
+ unit test results and code coverage reporting. The default CruiseControl.Net installation
+ includes a basic stylesheet which works in combination with the standard coverage.xml
+ formatted output. So all you need to do is include the execution of NCover as part
+ of your build, then add a CruiseControl.Net merge file publisher task to integrate
+ the coverage.xml results into the build output.
+
+ An improvement on the above to display more attractive and powerful reports as well
+ as minimize the build log size is to use NCoverExplorer. The NCoverExplorer.Console.exe
+ is designed to produce a more concise xml report summary that is combined with an
+ alternate xsl stylesheet for CruiseControl.Net. You can find more information and
+ screenshots in this
+ blog entry - all the necessary tasks, examples and documentation are located
+ within NCoverExplorer.Extras.zip available from
+ http://ncoverexplorer.org/.
+
+ 17. How do I merge multiple NCover coverage.xml results?
+
+ You can can use NCoverExplorer to merge the results of multiple coverage runs. For
+ more information refer to this
+ blog entry.
+
+ 18. Troubleshooting: Why is my coverage.xml file empty?
+
+ - If using the command-line, did you COM register CoverLib.dll (or use the //reg option
+ from NCover 1.5.6)?
+ - Did you generate build symbol files (.pdbs) for the profiled application?
+ - If using the //a option, did you correctly list just the assembly names without
+ paths or .dll suffixes?
+
+
+ 19. Troubleshooting: I have coverage.xml output but my XYZ assembly is not included in it?
+
+ - NCover will only profile loaded assemblies - did your code execution path while
+ under coverage force that assembly to be loaded (e.g. by loading a type or calling
+ a method in that assembly)?
+ - Did you generate build symbol files (.pdb files) for the missing assembly?
+ - If using the //a option, did you correctly list the assembly names including the
+ one that is missing?
+ - Can you see information about the assembly being loaded within the coverage.log?
+ Is the correct assembly being loaded (check the path) - if you have a version in
+ the GAC it may possibly prevent the .pdb file from being loaded.
- If using the NCoverExplorer gui, have you got a coverage exclusion defined which
+ is hiding it from the display?
+
+
+ 20. Troubleshooting: After running NCover my coverage.log says "Failed to load symbols for module XYZ"?
+
+ - This message means that no .pdb build symbol file was found for that assembly so
+ it cannot be profiled for code coverage. If that assembly is part of the .NET framework
+ for instance like System.Data.dll, then this is an expected message and should not
+ cause concern.
- If however the assembly belongs to your application, did you generate the
+ build symbol files (.pdb files) for it?
+
+
+ 21. Troubleshooting: I get a "Profiled process terminated. Profiler connection not
+ established" message?
+
+ - If using the command-line, did you COM register CoverLib.dll (or use the //reg option
+ from NCover 1.5.6)?
- Are you running Windows XP 64-bit? You may want to take a look at
+ this thread
+
+ 22. Troubleshooting: My coverage exclusions are not working?
+
+ - Have you put the full namespace type name to the exclusion including the Attribute suffix in the //ea argument? See the "How
+ do I use coverage exclusions?" question above.
+
+
+
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer Readme.txt b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer Readme.txt
new file mode 100644
index 00000000..80436bbb
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer Readme.txt
@@ -0,0 +1,5 @@
+NCoverExplorer v1.3.6 is included in the Gallio distribution (along with its license file).
+
+This version of NCoverExplorer is used together with the included copy
+of NCover v1.5.8 to merge coverage files. Newer versions of NCover
+include a specialized reporting tool for this purpose.
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/CommandBars.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/CommandBars.dll
new file mode 100644
index 00000000..921ad777
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/CommandBars.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ConsoleConfig.xsd b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ConsoleConfig.xsd
new file mode 100644
index 00000000..05645243
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ConsoleConfig.xsd
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ConsoleExample.config b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ConsoleExample.config
new file mode 100644
index 00000000..45daf3c1
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ConsoleExample.config
@@ -0,0 +1,43 @@
+
+
+
+
+
+ Example.Project
+
+
+
+ 80
+
+ None
+
+ Name
+
+
+
+ Assembly
+ *.Tests
+ false
+
+
+ Namespace
+ *.My*
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/CoverageReport.xsl b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/CoverageReport.xsl
new file mode 100644
index 00000000..ae8586f4
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/CoverageReport.xsl
@@ -0,0 +1,494 @@
+
+
+
+
+
+
+
+ Generated by NCoverExplorer (see http://www.kiwidude.com/blog/)
+ NCoverExplorer - Merged Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unvisited Functions
+ Unvisited SeqPts
+
+
+
+
+ Function Coverage
+ Coverage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | |
+
+
+ | Project |
+ Acceptable |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+ | |
+
+
+ | Modules |
+ Acceptable |
+ |
+ |
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+ | |
+
+
+ | Module |
+ Acceptable |
+ Unvisited SeqPts |
+ Coverage |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | |
+
+
+ | Module |
+ Acceptable |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ padding-left:20px;font-weight:bold
+
+
+
+
+
+
+
+
+ padding-left:30px
+ 160
+
+
+
+
+
+
+
+
+
+
+ | |
+
+
+ | Namespaces |
+ Unvisited SeqPts |
+ Coverage |
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+ padding-left:20px
+ 180
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ | |
+
+
+ | Excluded From Coverage Results |
+ All Code Within |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ | |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ . |
+
+
+
+
+
+ . |
+
+
+
+
+ graphBarSatisfactory
+ graphBarNotVisited
+
+
+
+ . |
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ICSharpCode.TextEditor.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ICSharpCode.TextEditor.dll
new file mode 100644
index 00000000..3a311a98
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/ICSharpCode.TextEditor.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.Console.exe b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.Console.exe
new file mode 100644
index 00000000..40a1d6d1
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.Console.exe differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.Core.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.Core.dll
new file mode 100644
index 00000000..c5a7dbc7
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.Core.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.NCoverRunner.dll b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.NCoverRunner.dll
new file mode 100644
index 00000000..2bb80f53
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.NCoverRunner.dll differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.exe b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.exe
new file mode 100644
index 00000000..dbd86e58
Binary files /dev/null and b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.exe differ
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.exe.config b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.exe.config
new file mode 100644
index 00000000..4bb5eb0d
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorer.exe.config
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorerFAQ.html b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorerFAQ.html
new file mode 100644
index 00000000..0f0d96e1
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorerFAQ.html
@@ -0,0 +1,301 @@
+
+
+
+
+ NCoverExplorer FAQ
+
+
+
+
+
+ NCoverExplorer FAQ
+ The latest version of this document is located here.
+
For the latest NCoverExplorer news and updates, visit my blog.
+ Expand All | Collapse All
+ 1. What is NCoverExplorer?
+
+
This tool allows you to open a coverage.xml file produced by
+ NCover and navigate the source code. The
+ source code is highlighted to clearly show which statements were visited
+ and not visited. You can filter, sort and report on the coverage results.
+
+
+ 2. What versions of the .NET Framework does it work with?
+
+
NCoverExplorer as of version 1.3.4 requires either .NET 1.1 or .Net 2.0 (it is compiled against
+ .Net 1.1).
+
+
+ 2. What versions of NCover does it work with?
+
+
NCoverExplorer has been tested with both NCover 1.3.3 and up to the latest NCover 1.5.7. It will NOT
+ work with NCover 1.4.6. Note that NCover 1.5.x only works with .NET 2.0 and requires at least NCoverExplorer 1.3.5
+ and/or a TestDriven.Net build > 2.0.1786 due to a limitation in NCover or else you will get duplicate nodes in your
+ coverage results.
+
+
+ 3. Can I integrate it with my Visual Studio.Net version XXX IDE?
+
+
Jamie Cansdale now offers a "Test with... Coverage" feature
+ in the latest version of his excellent TestDriven.Net
+ tool. This will automatically launch NCoverExplorer to display the results
+ of running unit test(s) under code coverage with NCover. Note that as of build 1341
+ TestDriven.Net now works using both the latest version of NCover (1.5.x) and the earlier NCover 1.3.3 version.
+
+
+ 4. Can I integrate it without TestDriven.Net?
+
+
My solution I used at work was a combination of NAnt and NAntRunner
+ (the VS.Net add-in) to perform something similar. I have NAnt tasks to:
+
+ -
+ Perform the build.
+
+ -
+ Execute NCover while running unit tests (either all unit tests or those for
+ a specific fixture using the /fixture feature of NUnit).
+
+ -
+ Launch NCoverExplorer displaying the output coverage.xml file.
+
+
+
+
As of NCoverExplorer 1.3.5 you now have another option. There is now an included GUI for
+ running NCover directly from within NCoverExplorer and displaying the results.
+
+
+ 5. How does it compare to Visual Studio Team System?
+
+
VSTS features of unit testing and code coverage will only be included with the premium bundles
+ of the Visual Studio product range - and as such will most likely be priced above what many
+ developers and businesses are prepared to pay. For "everyone else" in the market it would seem likely
+ that they will continue to utilise open source alternatives.
+
+
Even if you are one of the fortunate developers who can afford VSTS, it still must
+ be measured feature-wise against the open source alternatives which in a lot of cases have now been established
+ for many years. Developers and managers will weigh up for themselves how important those features are
+ as well as other factors such as Microsoft support etc. The nice thing for many of us is that we have a choice...
+
+
We have had a number of people e-mail us and say they prefer TestDriven.Net and NCoverExplorer
+ over the VSTS alternative and want to switch off the VSTS ability - that's rather gratifying from our perspective!
+
+
+ 6. Why didn't you integrate NCoverExplorer directly into the IDE like VSTS or SharpDevelop?
+
+
A number of reasons. At first glance having your code colour coded within the VS.Net IDE may sound
+ great. However think about what we are trying to achieve - improving our test code to increase our coverage.
+ That means in many cases you want to be editing the unit tests themselves, not the pretty coloured code under test.
+ This then requires either a photographic memory or a penchant for continually resizing your IDE/tab groups, as well as an ability
+ to not find the colours distracting while editing and refactoring code... not my first choice.
+
+
You may instead find it more convenient to have a separate application window which can be positioned
+ on a second screen (you all have at least two don't you?) or ALT-Tab switched between. As of release 1.3.1
+ NCoverExplorer allows direct code navigation from method coverage in NCoverExplorer to it's corresponding line
+ in the source code file within the VS.Net IDE.
+
+
From a technical perspective an add-in is a non-trivial task - particularly if trying to support all
+ the variants of the VS.Net IDE. To do it natively requires VSIP skills which is a trip to the dark side.
+ I won't say "never" however and if I find some spare time (or you want to volunteer to help me!) then it might
+ happen one day...
+
+
+ 7. What do the tree node colours mean?
+
+
The default settings when NCoverExplorer is installed are as follows:
+
+ -
+ Grey text - the namespace/class/method has zero coverage. (Icon will be greyed also)
+
+ -
+ Red text - the namespace/class/method has partial coverage.
+
+ -
+ Blue text - the namespace/class/method coverage has partial coverage exceeding a satisfaction threshold (default 95%).
+
+ -
+ Black text - the namespace/class/method has 100% coverage.
+
+
+
+
+ 8. What do the source code highlighting colours mean?
+
+
The default settings when NCoverExplorer is installed are as follows:
+
+ -
+ Blue background - this section of code was visited (a tooltip tells you how many times).
+
+ -
+ Red background - this section of code was not visited.
+
+
+ You can change these settings in the View->Options dialog. For instance you may prefer to underline the unvisited code.
+
+
+ 9. What is that "Satisfaction Threshold" all about?
+
+
Depending on your coverage strategy, the code being tested and the extent of your usage of reflection,
+ mock objects and/or dependency injection you may determine it unfeasible to try
+ to reach 100% coverage everywhere. Some teams readily accept the diminishing returns
+ that can apply and instead set a specific blanket coverage goal such as “85%”.
+
+
Assuming you have such a situation and there was no threshold capability,
+ you would be stuck forever looking at a "danger red" node in the tree every time you open NCoverExplorer.
+ With this feature enabled (by setting a threshold less than 100% in the View->Options dialog) you see
+ a more calming mellow “blue” instead...
+
+
As of release 1.3.1 you can now also specify the tolerance as a number of unvisited lines.
+ If either of the two threshold conditions are met the node will be coloured appropriately. Note that
+ a visit count of zero will always show as uncovered regardless of your tolerance.
+
+
Of course just because you exceed the percentage doesn't mean that the 5% of code unvisited
+ isn't the most critical!
+
+
+ 10. I have a killer idea for XYZ feature - can you add it for me?
+
+
Please leave a comment on my blog or in the
+ NCoverExplorer forums and I will see what I can do.
+ NCoverExplorer is by no means my "day job" so no promises can be made but if the idea is indeed a good one which
+ will benefit many others I'm sure I can find time...
+
+
+ 11. Where can I download the latest version?
+
+
To download NCoverExplorer without TestDriven.Net, you can find it
+ here.
+
+
Download it as part of the install with TestDriven.Net from here.
+
+
+ 12. What are the keyboard shortcuts?
+
+
The following shortcuts exist currently:
+
+ CTRL+A - Collapse all nodes recursively.
+ CTRL+E - Edit in VS.Net at the current caret position.
+ CTRL+L - Expand all nodes recursively.
+ CTRL+N - Run NCover (via configuration dialog).
+ CTRL+O - Open coverage xml file.
+ CTRL+Q - Expand all covered child nodes.
+ CTRL+S - Save coverage xml file as displayed (without excluded nodes).
+ F2 - Display the options dialog.
+ F3 - Display the statistics summary dialog.
+ F5 - Reload the current source code file.
+ F6 - Display the reports dialog.
+ DEL - Exclude node and children from coverage tree and recalculate coverage.
+ INS - Include node and children into coverage tree and recalculate coverage.
+
+ ALT+1 - Filter (hide) all 100% coverage nodes.
+ ALT+2 - Filter (hide) all unvisited (0%) nodes.
+ ALT+3 - Filter (hide) all nodes exceeding satisfactory coverage threshold.
+ ALT+0 - Remove all filters.
+
+ CTRL+1 - Display sequence point coverage report (covered%).
+ CTRL+2 - Display sequence point coverage report (covered%) (unvisited seqpnt#).
+ CTRL+3 - Display sequence point coverage report (unvisited seqpnt#).
+ CTRL+4 - Display function coverage report (visits).
+ CTRL+5 - Display function coverage coverage report (covered%).
+ CTRL+6 - Display function coverage coverage report (covered%) (unvisited function#).
+ CTRL+7 - Display function coverage coverage report (unvisited function#).
+
+ CTRL+SHIFT+1 - Sort by name (default).
+ CTRL+SHIFT+2 - Sort by name down to class level, with methods sorted by line number.
+ CTRL+SHIFT+3 - Sort by coverage percentage ascending.
+ CTRL+SHIFT+4 - Sort by coverage percentage ascending.
+ CTRL+SHIFT+5 - Sort by #unvisited sequence points ascending.
+ CTRL+SHIFT+6 - Sort by #unvisited sequence points ascending.
+ CTRL+SHIFT+7 - Sort by max function visit count ascending.
+ CTRL+SHIFT+8 - Sort by max function visit count ascending.
+ CTRL+SHIFT+9 - Sort by max function coverage percentage ascending.
+ CTRL+SHIFT+0 - Sort by max function coverage percentage descending.
+
+ ALT+RIGHT - Next unvisited line in the current class.
+ ALT+LEFT - Previous unvisited line in the current class.
+ ALT+UP - Next unvisited class in the current namespace.
+ ALT+DOWN - Previous unvisited class in the current namespace.
+
+
+
+ 13. Where are my personal settings stored?
+
+
C:\Documents and Settings\[User Name]\Application Data\KiwiDevelopment\NCoverExplorer\NCoverExplorer.config
+
+
+ 14. Where can I download the custom NAnt/MSBuild tasks from?
+
+
A zip file containing the task source code, compiled assemblies and examples can be found
+ here
+
+
+ 15. I get an "Illegal characters in path" exception - why?
+
+
NCover 1.4.6 has a bug whereby the filenames that it writes into the xml file contain
+ undesirable characters. Please use either NCover 1.3.3 or NCover 1.5.x. For more details refer to this blog entry
+ here
+
+
+ 16. I get a "System.Format" exception - why?
+
+
One user reported a bizarre issue where on their machines a simple int.Parse("0") would not work.
+ The exact cause is unknown (they had uninstalled some components from their XP installation), however
+ switching region settings to something else and back again resolved the issue.
+
+
+ 17. My module thresholds are not working - why?
+
+
The module names included in the module thresholds should not include any path information,
+ and are currently case sensitive (must exactly match the module names you see on the NCoverExplorer report).
+ The case sensitivity constraint is fixed in NCoverExplorer 1.3.5.
+
+
+ ---------------------------------
FAQ last updated Apr 1st 2007.
+
+
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorerReleaseNotes.html b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorerReleaseNotes.html
new file mode 100644
index 00000000..21d193ef
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/NCoverExplorerReleaseNotes.html
@@ -0,0 +1,790 @@
+
+
+
+ NCoverExplorer Release Notes
+
+
+
+
+
+ NCoverExplorer Release Notes
+ The latest version of this document is located here.
+
For the latest NCoverExplorer news and updates, visit my blog.
+
+
+ v1.3.6 - Apr 5th 2007
+ Bundled with TestDriven.Net from build 2.5.2078.
+ The following new features were introduced:
+
+ -
+ Added a Find dialog (ctrl+F) to quickly navigate to a class. Wildcards are supported.
+
+ -
+ Added a /q or /quiet option to NCoverExplorer.Console.exe to minimise the output.
+
+
+ The following minor changes were made:
+
+ -
+ Failing if less than a threshold now applies to any assembly not meeting the threshold
+ rather than comparing against the total coverage across all assemblies.
+
+ -
+ Add some examples to the NCoverExplorer.Console.exe output for the /help or /? (or no arguments).
+
+ -
+ Pressing ESC on the NCover Runner dialog will now close it.
+
+ -
+ Implement a workaround for poor treeview performance under .NET 2.0.
+
+ -
+ Rather than displaying validation errors automatically "fix" paths with matching trailing
+ slashes in the Change Source Path dialog.
+
+ -
+ Writing of coverage files should now match the schema for the relevant NCover version.
+ Later NCover versions like 1.5.7 have enhanced the schema, so the results of a merge or
+ save from NCoverExplorer should offer a comparative schema in the result.
+
+ -
+ Add a message indicating the return code to the output.
+
+
+ The following bug fixes were made:
+
+ -
+ NCover 1.5.5/6 produce duplicate sequence points. To workaround this fix Jamie Cansdale implemented
+ a change for me to the way the methods are identified uniquely. The longer term fix is NCover version 1.5.7
+ - this should keep things usable until that is released.
+
+ -
+ Another issue up to at least NCover 1.5.7 is that non-instrumented code does not have the sequence
+ points optimised. When merging multiple coverage files NCoverExplorer was incorrectly merging the noops with
+ valid instrumented sequence points, resulting in lower coverage information.
+
+ -
+ If CoverageReport.xsl stylesheet already exists in destination output folder for an xml report
+ and is marked as read-only then the replace would fail.
+
+ -
+ Drag/drop of coverage.xml files would add to the wrong end of the MRU menu once the maximum
+ number of items is reached.
+
+ -
+ If multiple classes in the same file then selecting a class node was not navigating to that
+ class in the source code tab. It will now jump to the first unvisited sequence point, or if
+ there are none of those the first sequence point in the class.
+
+ -
+ Wildcards for coverage exclusions were only working if placed at the ends, not in the middle
+ e.g. *.Tests or Testing.* would work, but xxx.*.yyy would not.
+
+ -
+ Prevent some of the nasty GDI errors in CommandBars code from disrupting the GUI. Longer
+ term will utilise another framework.
+
+ -
+ Replacing paths by typing them in had MaxLength set to 50 so impossible to edit long paths
+ in the Change Source Path dialog.
+
+ -
+ Merging property nodes under a parent in the tree has a dependency on the ordering of the coverage output
+ to ensure they appear properly.
+
+ -
+ When restoring form position from persisted values, ensure it appears on a visible screen,
+ catering for the user changing their display settings between sessions.
+
+ -
+ Ensure stylesheet cannot be copied over the top of itself.
+
+ -
+ Supplying a file pattern with no matches to NCoverExplorer.Console.exe was throwing an "Index was
+ outside the bounds of the array" exception.
+
+ -
+ Multiple coverage exclusion attributes not supplied correctly to NCover (build 26).
+
+ -
+ Check to make sure node is assigned to a TreeView before getting handle to set text (build 32).
+
+ -
+ Sort sequence point nodes when loading and handle merge case of multiple non-instrumented
+ sequence points becoming a single sequence point. (build 36).
+
+
+
+
+ v1.3.5 - Oct 23rd 2006
+ Bundled with TestDriven.Net from build 2.0.1921.
+ The following new features were introduced:
+
+ -
+ Added ability to run NCover from within NCoverExplorer (all versions). User Ctrl+N or
+ entries on File menu/toolbar to bring up configuration dialog. After successful
+ execution, the resultant coverage file is displayed in NCoverExplorer.
+
+ -
+ Added ability to generate MSBuild, NAnt and command-line scripts for running NCover
+ from within NCoverExplorer. See the NCover dialog above.
+
+ -
+ Added new function coverage viewing options and module/class coverage report.
+ Indicates the percentage of functions covered rather than the sequence points within each.
+ Supported by a new "satisfactory function threshold" and function % sorting options.
+
+ -
+ Background colours can now be customised for coverage nodes in the tree.
+
+ -
+ Reports will now have the current filtering applied, not just the sorting settings.
+
+ -
+ Reports using NCoverExplorer.Console can now have filtering and sorting applied. Use the
+ /sort: and /filter: command line arguments, or specify in a .config file (see example.config),
+ or use the sort/filter arguments to the NAnt/MSBuild tasks.
+
+ -
+ Sorting and filtering options applied are now persisted and reapplied to the next coverage
+ xml file loaded, both in this and future sessions.
+
+ -
+ Added ability to filter out all nodes exceeding coverage threshold.
+
+ -
+ Revamp to the NAnt/MSBuild tasks. Renamed assemblies and namespaces. Included new attribute of
+ "AssembliesList" as an alternative to the "Assemblies" group element to allow direct
+ specification of a list as you would on the command line. The "Version" attribute is now optional
+ - the task determines it from the NCover assembly instead if not specified. Tasks will automatically
+ register NCover coverlib.dll using the HKCU entry in the registry - no need for regsvr32 any more!
+ NCoverExplorer task now writes it's config file to temp folder for passing to the executable.
+
+ -
+ Added documentation for the NAnt and MSBuild tasks. This is included both in the NCoverExplorer.Extras.zip
+ file, as well as being available online for the custom MSBuild Task Help
+ and NAnt Task Help.
+ Links also available off the Help menu for NCoverExplorer.
+
+ -
+ Added a schema file ConsoleConfig.xsd to the distribution for people wanting to know the exact syntax
+ options for creating .config files to pass to NCoverExplorer.Console using the /config switch.
+
+ -
+ Added regular expression support to the coverage exclusions dialog for people wanting more complex queries.
+
+
+ The following minor changes were made:
+
+ -
+ Configuration file change - the ModuleThresholds section in .config files passed to NCoverExplorer.Console now
+ uses propercase attribute names to be consistent with the rest of the configuration file.
+ i.e. "ModuleName" instead of "moduleName", and "SatisfactoryCoverage" instead of "satisfactoryCoverage". You must update
+ your NAnt/MSBuild tasks for NCoverExplorer if you use these. If you instead use the <exec> task with a .config
+ file then you should update the case of the entries in this file. This only affects people who have setup coverage exclusions
+ at the module level for reporting purposes.
+
+ -
+ If source code is out of date compared to the coverage results, the user is prompted with
+ the change source path dialog.
+
+ -
+ If the user chooses a new source code location, the tab is now automatically opened for
+ that location rather than requiring the user to click on the tree node again.
+
+ -
+ Added Help->NCoverExplorer Forum menu option to link to the NCover website. Also included
+ forum link information on the exception dialog.
+
+ -
+ Added a toolbar button for turning off filtering.
+
+ -
+ Keyboard shortcut change - Changed the keyboard shortcuts for next/previous unvisited class (ALT+UP/DOWN) and
+ next/previous unvisited line in class (ALT+LEFT/RIGHT).
+
+ -
+ Remember which tab was last opened in the NCoverExplorer options dialog during an NCoverExplorer session.
+
+ -
+ Replaced references to "transparent.gif" with "shim.gif" in the NCoverExplorerSummary.xsl. The "shim.gif"
+ file is a transparent 1x1 gif already distributed with CC.Net.
+
+ -
+ Coverage exclusions for assemblies are now case insensitive.
+
+ -
+ There are no longer two default coverage exclusions added of "*.Tests" and "*.My*" for first time users.
+ Intended for demo purposes only but stayed in until now. New users can manually add them if they desire them.
+
+
+ The following bug fixes were made:
+
+ -
+ Overloaded constructors with class level variable declarations were being merged into a single
+ constructor in the coverage results as they had the same "start line" of the variable. Now uses
+ end line as part of the identifying key for each method.
+
+ -
+ Memory leak from opening and closing tabs displaying source code.
+
+ -
+ .Net 2.0 performance is pretty dire due to crap Microsoft changes to the TreeView control.
+ Change to default to .Net 1.1 in NCoverExplorer.exe.config and wrap updates to the tree
+ in BeginUpdate/EndUpdate.
+
+ -
+ Parsing Java code would blow up if an accessor had the same name as a nested class (illegal in C#).
+
+ -
+ Bugfix in NCover task where multiple assemblies were specified for NCover 1.5.4, which requires
+ separate <assembly> nodes.
+
+ -
+ Bugfix in trying to restore selected node text after refreshing file could raise
+ null reference exception.
+
+ -
+ Bugfix so that module names specified in module thresholds when using NCoverExplorer.Console
+ are no longer case sensitive for matching.
+
+ -
+ Added support for NCover 1.5.5 - the //q bug is fixed in NCover. Also changed parsing code so that modules
+ with a blank assembly name (through using TestDriven.Net) are ignored from the coverage.
+
+ -
+ Bugfix for merge functionality for NCover.Console when wildcards were used with relative paths.
+
+ -
+ Bugfix for naming of xml/html arguments for NCover.Console with relative file paths.
+
+ -
+ Bugfix for drag/drop broken while making the memory usage optimisations during the 1.3.5 beta release.
+
+ -
+ Print button was enabled when no source code displayed resulting in exception.
+
+
+
+
+ v1.3.4 - Jul 10th 2006
+ Bundled with TestDriven.Net from build 2.0.1702.
+ The following new features were introduced:
+
+ -
+ Added toolbar buttons which support moving to the next and previous unvisited code
+ within a class or namespace. Shortcut keys of N and P for next/previous unvisited line in the
+ current class (or mouse forward/back buttons). Use Ctrl+N and Ctrl+P to navigate to the
+ next/previous partially or unvisited class within the namespace (or Ctrl+forward/back mouse buttons).
+
+ -
+ NCoverExplorer.Console.exe now supports saving the merged results of the coverage xml file(s) with
+ a /s[ave] option. The NCoverExplorer NAnt and MSBuild tasks have also been enhanced to support this
+ with an optional "mergeFileName" attribute.
+
+ -
+ NCoverExplorer.Console.exe now supports wildcards for coverage xml filename(s).
+
+ -
+ NCoverExplorer.Console.exe now supports module level coverage thresholds, rather than just a project
+ coverage threshold. This feature allows finer tolerance for both output on the reports and to fail
+ a build. Specifying the module thresholds is done either through a .config file (see ConsoleExample.config)
+ or through parameters in the NAnt/MSBuild tasks.
+
+ -
+ Added a new summary report showing class coverage per namespace per module.
+
+ -
+ Enhanced the NCoverExplorerSummary.xsl to display summaries of each module.
+
+ -
+ Clicking on a class with non-existent source code displays a dialog allowing the user to specify an alternate
+ folder. For use when the source code location indicated within the coverage.xml file(s) loaded differs from
+ that on the local machine now (e.g. a different drive letter or folder path).
+
+
+ The following minor changes were made:
+
+ -
+ NCoverExplorer release is compiled against .Net 1.1 rather than .Net 1.0 due to a dependency on the
+ FolderBrowserDialog not available in .Net 1.0.
+
+ -
+ Coverage file stylesheet modified to show coverage column and NCoverExplorer version information with
+ numerous other cosmetic enhancements.
+
+ -
+ Enrich error environment information to include .Net framework version and operating system.
+
+ -
+ Classes without a namespace are now shown under a namespace node of "-" like in Reflector.
+
+
+ The following bug fixes were made:
+
+ -
+ Warnings about mismatches when merging xml files are no longer issued. NCover seems to inconsistently
+ produce xml file coverage of methods which caused some users problems when merging.
+
+ -
+ Nested classes without a namespace specified would cause the coverage.xml file to fail to load.
+
+ -
+ Parsing overloaded properties (overloads of this[]) would not show the separate overloads in the tree
+ and have incorrect coverage stats.
+
+ -
+ Fix memory leaks for when source code tabs are closed.
+
+ -
+ Minimum coverage threshold for NCoverExplorer.Console would sometimes be incorrect due to rounding.
+
+ -
+ Changed NCoverExplorerSummary.xsl to format to 1dp rather than rounding to 0.
+
+ -
+ Sorting by filename for a method then clicking on class node threw exception.
+
+ -
+ VB.Net source code keywords not highlighted with the correct ICSharpCode template.
+
+
+
+
+ v1.3.3 - Apr 4th 2006
+ Bundled with TestDriven.Net from build 2.0.1578.
+ The following new features were introduced:
+
+ -
+ Added NCoverExplorer.Console.exe for utilising NCoverExplorer features with automated
+ coverage builds and NAnt tasks. By default will load up all the specified coverage file(s), apply
+ any coverage exclusion(s) specified in the NCoverExplorer configuration and display total
+ coverage statistics in the console output. If all items processed successfully returns an exit code of 0,
+ if an exception occurs returns an exit code of 2.
+
+ -
+ Added /m:xx (or /minCoverage:xx) argument to NCoverExplorer.Console.exe. When used in conjunction with
+ /f (or /failMinimum) an exit code of 3 is returned if the min coverage is not reached. Can act
+ as a trigger for failing an automated build such as with CruiseControl.Net.
+
+ -
+ Added module & namespace summary xml report generation to NCoverExplorer (both the GUI and Console versions).
+ In the GUI, this is available via the "View->Reports" menu. The three reports that are offered currently are:
+
- Module Summary (Coverage totals for the project and per module);
+
- Namespace Summary (Coverage totals for the project and per namespace);
+
- Module Namespace Summary (Coverage totals for the project, per module and per namespace);
+
+ -
+ Reports can be generated in xml or html format. Native html may be useful for directly attaching to e-mails.
+ If xml format is chosen a "CoverageReport.xsl" stylesheet is copied from the NCoverExplorer installation
+ folder to the report directory and linked to the xml file similar to coverage.xml/coverage.xsl by NCover.
+
+ -
+ Reports can contain an "excluded nodes" footer section. This lists at the topmost level all of the items
+ excluded from coverage at the time the report was run.
+
+ -
+ Added "View->Filter" main menu and context menus, offering the ability to filter out nodes. Filtered
+ nodes are simply moved under a new "Filtered" tree node and do not alter the coverage statistics
+ (unlike excluded nodes which are effectively removed from the tree). Filters offered are either to
+ hide all 100% covered nodes, or hide all unvisited (0%) nodes.
+
+ -
+ Added "Include in Results" context menu option for when clicking on either the "Excluded" bin or one
+ of it's immediate child nodes. Offers a way to "undo" an exclusion without reloading the file.
+
+ -
+ Added "View->Summary Statistics" menu option (shortcut F3) to show dialog of totals of files, classes, members,
+ NCLOC (non-commented lines of code) and sequence points. Statistics do not include excluded nodes
+ (but will include filtered nodes).
+
+ -
+ Created NAnt and MSBuild tasks for execution of NCoverExplorer.Console as an alternative to the <exec> task.
+ These tasks offer a more developer friendly alternative such as <fileset> for coverage files and creating a
+ .config file on the fly based on specified parameters such as <exclusions> within the .build/.proj file.
+
+ -
+ Replaced menus with a lightly tweaked variant of Lutz Roeder's excellent CommandBar code to give a more modern
+ look and assign icons on the menus.
+
+ -
+ Added a toolbar. If not wanted the toolbar can be hidden using the "View->Show Toolbar" menu option.
+
+
+ The following minor changes were made:
+
+ -
+ Options dialog shortcut changed to F2.
+
+ -
+ Excluding a node will now select the node after by default rather than the one previous.
+
+
+ The following bug fixes were made:
+
+ -
+ Fix bug where delete key shortcut was active on the root coverage file node, causing an exception to be thrown.
+
+ -
+ Path was being truncated from the module name when saved.
+
+ -
+ Fix bug where changing theme without coverage file loaded caused error.
+
+
+
+
+ v1.3.2 - Mar 14th 2006
+ Bundled with TestDriven.Net from build 2.0.1545.
+ The following new features were introduced:
+
+ -
+ Added support for merging multiple coverage files. This can be triggered through a variety of ways:
+
- Selecting multiple test classes/fixtures/projects in TestDriven.Net;
+
- Passing multiple files in the command line arguments;
+
- Selecting multiple files in the Open dialog;
+
- Using a new "File->Merge..." menu option;
+
- Drag/dropping onto the NCoverExplorer application.
+
+ -
+ Added tabs for each source code file you open to explore coverage on. If you click on a partial class
+ then tabs will be opened for each of the source code files making up the class.
+
+ -
+ Added the ability to exclude assemblies, namespaces or classes from the coverage results by a wildcard capable
+ case-sensitive match on the name. By default NCoverExplorer includes two exclusions:
+
- Exclude all assemblies with the name ending in ".Tests".
+
- Exclude all namespaces with the name containing ".My" (for VB.Net exclusions).
+
+ -
+ Added support for the NCover 1.5.4 "excluded" attribute which can be found in the coverage.xml files when
+ the appropriate NCover command-line attributes are used. Note that TestDriven.Net still does not as yet
+ support this attribute so you need to use the NCover.Console command line for this feature - for more information see
+ here. NCoverExplorer
+ will not include nodes marked as 'excluded' by NCover in it's totals but will still display them in the tree.
+
+ -
+ Added an "Excluded" child bin node containing all nodes that have been excluded by the options dialog, by NCover
+ attributes or by the "Exclude From Results" context menu option (see next point).
+
+ -
+ Replaced the "Remove from Results" context menu feature with "Exclude from Results" (shortcut of the DEL key).
+ Achieves a similar result of removing nodes from coverage calculations, however the nodes are "moved" to the
+ Excluded bin rather than being deleted from the tree.
+
+ -
+ Added a custom "theme" capability along with further colour and font customisation options for the coverage tree,
+ statistics and source code panes. A number of predefined "themes" are supplied and users can add their own.
+ Users can switch between themes either in the Options dialog or via the "View->Themes" menu.
+
+ -
+ Added a new "View->Coverage" menu which has sub-options related to "Sequence Point Coverage" and
+ "Function Coverage", assigned shortcut keys ctrl+(1-4):
+
- Choosing one of the "Sequence Point" variants will display the tree nodes with differing naming
+ combinations of coverage percentage and # unvisited sequence points.
+
- Choosing "Function Coverage" will alter the coverage tree display so that only methods/classes that were
+ invoked are highlighted. Method nodes show the number of visits to that method. Class, namespace and module nodes
+ show the maximum visit count by any of their children.
+
+ -
+ Added a "View->Sort By" menu option and context menu on the tree, with sub-options for "Name" (default),
+ "Class name/line number", "Coverage %" (ascending/descending), "Uncovered Sequence Points" (ascending/descending)
+ and "Visit Counts" (ascending/descending).
+ Assigned shortcut keys of ctrl+shift+(1-8). Note that reloading the coverage file will remove the current sort
+ and default back to by "Name".
+
+ -
+ Added "Save" and "Save As" options to the File menu. These give you the option of overwriting/creating a
+ new coverage.xml file with the current values loaded in NCoverExplorer. Any coverage exclusions/removed
+ nodes will not appear in the saved coverage file. Note that the methods are written in the same order as
+ the sort order specified above.
+
+ -
+ Added an "Explore Coverage Folder" menu option to the file menu.
+
+ -
+ Added an "Expand All" context menu option on the tree (shortcut ctrl+L).
+
+ -
+ Enhanced the statistics pane. When a class node is selected you will now see additional columns of
+ coverage %, unvisited sequence points and sequence points. When clicking on a method node you will
+ now see the filename.
+
+ -
+ Implemented "smart expansion" in the tree. If when you expand a node there is only one child node
+ then that node will also be expanded and so on. Increases speed of tree navigation particularly
+ if using a style of "Nested" namespaces with deep hierarchies.
+
+ -
+ Display class file name in tab page header bar when a method node is clicked on. Tooltip shows the path.
+
+
+ The following minor changes were made:
+
+ -
+ Optimised when reloads of the coverage file so it is now only required if you change a coverage exclusion
+ or the tree grouping/nesting styles in the options dialog. Makes for a snappier UI.
+
+ -
+ Added a "Close" menu option to remove any loaded coverage file(s) from display.
+
+ -
+ Moved all the "Recent Files" into a submenu to tidy up the File menu.
+
+ -
+ Pressing Tab/shift-tab while focus is in the TextEditor pane of source code will now
+ move focus out of the TextEditor.
+
+ -
+ If a source code file contains multiple classes (not nested), then only the highlighting relevant
+ to that particular class will be displayed in the editor window as each class tree node is clicked.
+
+ -
+ Excluding the My namespace is now done through the Exclusions feature.
+
+ -
+ Options dialog can be displayed using the F4 shortcut key.
+
+ -
+ Removed last remnants of "non VS.Net standard colors" from the C# ICSharpCode TextEditor template.
+
+ -
+ Make the GUI naming consistent to correctly reference "sequence points" rather than "lines" and "unvisited"
+ rather than "uncovered".
+
+ -
+ Removed "Edit in VS.Net" from the View menu.
+
+ -
+ Changed NCoverExplorer main form icon to one that includes 32x32 sizes so Alt-Tab switching looks
+ better than upscaled 16x16 icon.
+
+ -
+ User is now prompted to remove a non-existent coverage file from the "Recent" files list rather than
+ automatically being removed.
+
+
+ The following bug fixes were made:
+
+ -
+ Serializing the configuration settings was not flushing the stream - resulting sometimes in a blank settings file
+ preventing people from loading NCoverExplorer. Will now revert to default settings if an error occurs.
+
+ -
+ Displaying a source code file that has been modified to have less lines of code than at the time of the coverage run
+ will now display a user friendly message box.
+
+ -
+ Compensation made for NCover not reporting column information when profiling C++ code. NCoverExplorer will now
+ highlight the entire line rather than throwing an error.
+
+ -
+ In some circumstances properties were not highlighted consistently due to a bug in the property node expansion.
+
+ -
+ Coverage greater than 99.5% will no longer be rounded up to 100% in the display. It is instead shown as ">99.5%".
+
+ -
+ Extremely high visit counts will no longer overflow the visit count.
+
+ -
+ Statistics pane for a class will now always consistently show the property nodes grouped, rather than only
+ after the class node has been expanded in the tree.
+
+ -
+ Recent file menu would display incorrectly for files numbered from 10 onwards truncating first character.
+
+ -
+ Release notes & FAQ were always directed to website rather than local versions when NCoverExplorer was started
+ from TestDriven.Net.
+
+
+
+
+ v1.3.1 - Feb 15th 2006
+ Bundled with TestDriven.Net from build 2.0.1435.
+ The following new features were introduced:
+
+ -
+ Namespaces are now "flattened" by default in the tree. This looks like the ClassView
+ browser in VS.Net 2005 (or Lutz Roeder's Reflector). You can retain the nested look by changing it in the View->Options dialog.
+
+ -
+ If you use the original "nested" namespace style (like the VS.Net 2003 class browser), then inner namespaces will now be
+ listed at the top of each branch with the classes listed underneath which is less confusing to navigate.
+
+ -
+ Option to exclude the "My" namespace for VB.Net projects (for use with with BCL 2.0 & NCover 1.5.x).
+
+ -
+ Right-click menu option on coverage tree (shortcut ctrl+R) to "Remove From Results" that selected node
+ and all it's children. Will force the coverage values to be recalculated. Intended for use where
+ you have undesired assemblies, namespaces, classes or methods included in the report that are skewing your
+ coverage results and you want them removed.
+
+ -
+ Option to specify a satisfactory coverage threshold as a number of lines instead/as well as a percentage.
+ If either of the conditions are met the node is coloured differently (provided the coverage is not zero).
+
+ -
+ Colours can now be customised for both the source code highlighting and the nodes in the tree.
+
+ -
+ Collapse all nodes context menu option on the coverage tree control (shortcut ctrl-A). Equivalent to reloading
+ the coverage file (but would preserve any changes you have made such as removing nodes).
+
+ -
+ By default the NCoverExplorer now attempts to restore your currently selected node/caret position after
+ reloading a coverage.xml file (either F5 or by execution of another "Test With Coverage" command in TestDriven.Net).
+ You can turn off this behaviour in the View->Options dialog.
+
+ -
+ Statistics pane is now sortable by method name (default), visit count and line number.
+
+ -
+ Statistics pane now summarises all the methods and their visit counts when a class node is clicked.
+ Can be used as a basic form of method invocation counting for a fairly rudimentary level of profiling.
+ The colouring used is the same as that of the tree to visually assist in identifying methods invoked.
+
+
+
+ The following minor changes were made:
+
+ -
+ Restructured the Options dialog to have a tabbed interface.
+
+ -
+ Renamed the "Show Visit Pane" menu option to "Show Statistics".
+
+ -
+ The statistics pane now includes the method name. Widths of the columns are remembered each time you close NCoverExplorer.
+
+ -
+ Statistics pane now has icons and colouring to match those of the associated nodes in the coverage tree.
+
+ -
+ Inner nested classes now nested internally in the tree under the parent class, sorted to the top.
+
+ -
+ Added FAQ, Release Notes and Blog website to the Help menu.
+
+
+
+ The following bug fixes were made:
+
+ -
+ Source code files now loading with "Encoding.Default" rather than previous default of UTF-8.
+
+ -
+ Coverage highlighting not working correctly on multiple line statements.
+
+ -
+ Now handles partial classes and yield statements correctly.
+
+
+
+
+
+ v1.3 - Feb 6th 2006
+ Bundled with TestDriven.Net from build 2.0.1373d.
+ The following new features were introduced:
+
+ -
+ Launching from VS.Net using TestDriven.Net will now re-use the NCoverExplorer instance
+ opened from a previous "Test with... Coverage" click. Each VS.Net instance has it's own
+ instance of NCoverExplorer.
+
+ -
+ Added "Edit in VS.Net" functionality (keyboard shortcut ctrl+ E) for classes and methods.
+ Will navigate to source code in your IDE at same point where your cursor resides in NCoverExplorer.
+ Replaces and enhances previous "Open File" right-click option which has been removed.
+
+ -
+ Added "Expand Covered" functionality (keyboard shortcut ctrl + Q) - recurses through the child
+ nodes of the current node and expands all those with partial or complete coverage. Useful when
+ using in conjunction with TestDriven.Net for isolated unit testing.
+
+ -
+ Added "coverage file" node at the top of the tree showing total coverage across all modules/namespaces.
+
+ -
+ Group by module option (default) to assist with navigating coverage for large solutions.
+
+ -
+ Configuration information for NCoverExplorer now written to Local Settings rather than registry.
+
+ -
+ Increase default number of "recent files" to 10, with ability to alter in the Options dialog.
+
+ -
+ Reload of the current coverage file now has a shortcut key of F5.
+
+ -
+ Display the path to the currently loaded coverage file in the title bar.
+
+
+
+ The following minor changes were made:
+
+ -
+ Performance enhancements to improve loading times further for large files.
+
+ -
+ Static constructors now renamed from "cctor" to ".cctor" so as to be sorted at the top.
+
+ -
+ Running NCoverExplorer for first time ever will use a better starting form position.
+
+ -
+ Removed configuration option for "nesting properties" - default remains the same of "true".
+
+ -
+ Source code refactoring into separate assemblies to facilitate unit testing.
+
+
+
+
+ v1.2 - Feb 1st 2006
+ First public release, bundled with TestDriven.Net from build 2.0.1341d.
+ The following new features were introduced:
+
+ -
+ Block style highlighting option for both visited and unvisited code.
+
+ -
+ Satisfactory coverage threshold.
+
+ -
+ Nesting of properties as nodes are expanded.
+
+ -
+ Further speed improvements for initial file parsing.
+
+
+
+
+ v1.1 - Jan 1st 2006
+ Speed improvements.
+
+ v1.0 - Dec 17th 2005
+ First version created.
+
+
diff --git a/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/license.txt b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/license.txt
new file mode 100644
index 00000000..3f5442da
--- /dev/null
+++ b/lib/Gallio_3.2.517.0/NCover/libs/NCoverExplorer/license.txt
@@ -0,0 +1,299 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ EXCEPTION
+
+ 13. In addition, as a special exception, AlphaSierraPapa gives permission to
+link the code of this program with the Microsoft .NET library (or with
+modified versions of Microsoft .NET library that use the same license as the
+Microsoft .NET library), and distribute linked combinations including the
+two. As a second exception, AlphaSierraPapa gives permission to link the code
+of this program with the DockPanel Suite (or with modified versions of
+DockPanel Suite that use the same license as the DockPanel Suite), and
+distribute linked combinations including the two. You must obey the GNU
+General Public License in all respects for all of the code used other than
+the Microsoft .NET library and the DockPanel Suite.
+If you modify this file, you may extend this exception to your version of the
+file, but you are not obliged to do so. If you do not wish to do so, delete
+this exception statement from your version.
+
+
+
+ END OF TERMS AND CONDITIONS
+