3.1 introduced support for using dotnet test to invoke a test project or an assembly. This means that dotnet vstest which was used to invoke a test assembly is de facto deprecated as it's replaced by dotnet test. Testing a test assembly with dotnet test on Windows results in the testhost (which uses the apphost feature) not being able to find the runtime because DOTNET_ROOT isn't set.
cc @nohwnd