Changes in v3.11

This version of NCrunch introduces changes to the grid protocol. This means that grid node servers
must be updated before they can be used with the new version.

Fixed System.Threading.Thread package resolution issues causing IPC exceptions under .NET Core 2.0.

Fixed missing build binding redirection for XamlBuildTask assembly that was causing build-time issues
with some project types under VS2017.

Fixed several type conversion issues for MSTest DataRow tests that declare row parameters that differ
from method signatures.

Improved the handling of MSTest DataRow tests that pass enum objects into 'object' test parameters
when using MSTest under dynamic analysis. It is presently not practical to solve these problems
under static analysis (which is currently the default mode of operation for MSTest).

Fixed an issue where the engine was feeding previously removed tests into the pipeline, causing
downstream instability, especially with NUnit3 integration.

Fixed UI config setting for Workspace Base Path not working.

Removed the warning about AutoFixture incompatibility, as most use cases involving this toolset seem
to now be working correctly and this warning was unnecessarily scaring people.

Fixed an issue where NCrunch would fail to run .NET Core tests on systems without a
Microsoft.NETCore.App package installed in the current user's Nuget package cache.

Implemented handling for .NET Core 2.0's new package resolution fallback system. This should resolve
a range of package resolution and task environment initialisation errors present in some environments.

Fixed an issue where redirected reference assemblies were not being loaded by NCrunch from their
redirected location.

Fixed a potential IDE crash issue while painting NCrunch controls.

Removed code checking for whether the correct version of .NET Core is installed when preparing a test
environment, since this code doesn't seem to match with the range of undocumented rules used by
dotnet.exe in finding the .NET Core runtime assemblies and it was only causing things to unnecessarily

Adjusted the NCrunch.AllAssemblyLocations environment variable so that this variable can instead hold
the name of a text file that contains its contents. This is used as a fallback system for situations
where the size of the referenced assembly list cannot fit inside the environment variable block.
Under .NET Core and .NET Standard, the number of identified referenced assemblies has increased by
a significant amount. The NCrunch.Framework library has been updated to automatically load referenced
assemblies from the text file where this is used instead of the environment variable.

Fixed an issue where .NET Framework projects referencing a netstandard project under .NET Core 2.0
were failing to correctly load the netstandard.dll assembly at runtime.

Fixed an issue that was preventing NCrunch from correctly synchronising with grid nodes where Nuget
packages were being referenced that did not exist in the user's local Nuget cache (including primary
framework Nuget references).

Fixed an issue that was preventing NCrunch from being able to instrument assemblies under .NET
Standard 2.0 RTM.

Introduced a speculative fix to try and resolve intermittent server-side disconnection issues on
some grids.

Fixed an issue that was causing grid node servers to intermittently throw NullReferenceExceptions
shortly after synchronising with connected clients on some solutions.

Adjusted NCrunch's handling of unsupported projects to prevent malformed configuration files from
being created.

Fixed an issue where the current directory was not being set correctly in analysis tasks.