Changes in v3.19

Release notes for since version v3.18.0.2

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 an issue where the build system under VS2017.15.8 was redirecting package references to an MSBuild
extensions directory for certain projects. This was preventing NCrunch from correctly establishing the
list of required reference assemblies during load time, causing build problems downstream.

Fixed an issue where Nuget package dependencies that were implicitly added by the MSBuild system were
not being detected as necessary references at run time by NCrunch. This meant that the new .NET 4.6.1
project redirection system released with VS2017.15.8 required the 'Copy referenced assemblies to workspace'
setting turned on for some projects.

Fixed a regression issue in v3.18 where the MSFakes profiler was being implicitly enabled for all test
environments regardless of whether Fakes was actually being used. This was causing stability problems
in some runtime situations.

Changed how the deps.json in the NCrunch workspace is created in response to certain project dependency
structures under .NET Core. This problem presented itself when referencing aspnetcore.all and a netstandard

Fixed an issue where NCrunch was failing to correctly resolve MSTest DynamicDataSource methods that were
declared on generic base classes sitting upwards from the test fixture.

Restructured the loading of projects so that when projects are found to have a non-standard
BaseIntermediateOutputPath ('obj') directory, NCrunch will conduct a partial load of the project to load
the correct value for this property, then repeat the entire load with the new property value applied.
This should allow NCrunch to support CPS based projects that override this property.

Fixed a thread safety issue that could cause the grid node to crash.

Fixed an issue where a rare sequence of test pipeline changes could result in tests being excluded from the
queue where they shouldn't be.

Fixed an issue that was often causing tests to be broken up into more tasks than was necessary for
efficient execution.

Fixed a problem where an error was shown during a console tool run if the NCrunchCacheStoragePath configuration
option was specified in the solution configuration and no where else.

Fixed a problem with the timeline report. If the console tool run is aborted and there are no completed
tasks the report would throw an exception.

Fixed an issue that could cause the console tool's report writer to intermittently explode with an exception.

Reverted a change to the way NUnit testnames that were provided via the TestCase attribute were cleaned up.
This cleanup step could cause duplicate testnames.

Removed legacy 2012 Windows Store integration. It hasn't worked in years and has only been weighing down
the engine.