I have installed dotnet core SDK 3.1 on the server, confirmed that I can build using both Visual Studio 2019 and via the command line.
Ensured that there are no global.json files.
At first it was using the previous 2.x SDKs to build, no matter what.
The error would indicate that due to this SDK being used, it doesn't support 3.1.
After uninstalling all dotnet core 2.x SDKs from the machine, this is the error reported.
NCrunch: This project was built on server 'dev-01'
Project.csproj (0, 0): The target "Build" does not exist in the project.
The error that you are receiving is caused by the primary build target referenced by the .proj file not being present in its expected location. Probably, the issue here is some kind of inconsistency in the toolset being used between the grid node server and your local client machine.
Check that the grid node is running the exact same version of VS as the client machine, and that the projects are specifically written to target the version of .NET Core you're trying to use. It may be worth examining the project file in the generated NCrunch workspace on the remote grid node to see if it can yield any clues about why the version of .NET Core being resolved is the wrong one. Generally, if a command-line MSBuild of the generated project file in the workspace fails, then NCrunch will fail in the same manner.
Note that the installation of .NET core is not as simple as it might seem. There are connections between .NET core version resolution and the version of VS that is installed. There are also different install paths for .NET Core dependent on target platform (x64/x86). Where possible, I would suggest setting up your grid nodes to be as similar to your client machines as possible in terms of installation structure and SDKs ... this generally helps to avoid weird issues. There are a lot of moving parts in the MS platform.