Changes in v2.5


Replaced the Tests Window text output with a new control. This resolves the following issues:
- Poor performance of the existing control (it was unbearably slow when working with lots of text)
- Intermittent issues with rendering certain languages, particularly Russian and Czech
- Visual alignment issues, especially around hyperlinks in dark colour schemes

Removed the 200,000 character limit for rendering text in the Tests Window output, as the new control is fast enough to
render much more than this without performance problems.

Added a CSV export option to the Metrics Window.

Added a new export option to the Tests Window. The contents of the Tests Window can now be exported in Text or CSV form.

Added a new global configuration setting, 'Custom Environment Variables', allowing you to specify environment variables
that are automatically set for all NCrunch build/test runner processes, regardless of which machine is doing the
processing. Environment variables will also be set in task runner processes running on grid nodes executing tasks on
your behalf. This means it is now possible to implement user-specific behaviour in code executing on grid nodes, for
example to direct different users to different databases to provide better concurrency.

Added a new global configuration option, 'Auto adjust clashing marker colours'. This option (enabled by default)
controls whether NCrunch should automatically adjust marker colours that clash with the Visual Studio IDE background.
V2 introduced this feature but it has since become clear that not all users want the marker colours to automatically
adjust, so it is now possible to control this behaviour.

Added a .NET v4.5 task runner to NCrunch. This removes the dependency on the v4.5.1 task runner for v4.5 projects,
which required a later version of the .NET framework installed when this normally wouldn't be required.

Fixed several problems caused by project files existing on a different drive to their parent solution.

Fixed an issue where some non-english language exceptions were not being correctly hyperlinked inside the Tests Window
text output.

Fixed an issue where multi-line exception messages were corrupting the display in the exception popup window.

Adjusted the handling of the 'Run tests on server' command so that it is no longer possible to queue tests to execute
on a server that is unable to process them (for example, using Capabilities or the Test Filter configuration option).

Removed the 'Use hosted task runner' configuration option from the grid node configuration, as this option now does
nothing.

Adjusted the format of the columns in the metrics window to add clarity.

Added a warning for situations where a project loaded by NCrunch is referencing another project with the 'Ignore this
project completely' setting enabled. This is because such arrangements can cause obscure build errors.

Fixed an issue where ignored projects were not always showing up as greyed out in the configuration window.

Fixed an issue where the Abnormal Reference Resolution warning was not including the names of references that
triggered the warning.

Fixed an issue that would cause NCrunch to bug out when trying to process projects with an OutputPath set to a
different drive. NCrunch will now override OutputPath values set to a different drive, instead pointing them towards
a 'bin' subdirectory.

Fixed a possible stability problem when working with UNC paths.

Fixed an issue where EngineWatcher exceptions were being thrown when attempting to process changes to files containing
ghosted code coverage.

Fixed an issue that could cause duplicated coverage markers and consistency problems in the UI after source files were
renamed.

Fixed a compatibility issue with Windows Store App Tests where the content files of projects used by the test project
were not being correctly copied into the app sandbox.

Removed NUnit.Framework from NCrunch installed files, as this was creating runtime resolution clashes that caused
problems with some NUnit features.