An API to locate MSBuild assemblies from an installed Visual Studio location. Use this to ensure that calling the MSBuild API will use the same toolset that a build from Visual Studio or msbuild.exe would.
If a user has a symlink called dotnet (or dotnet.exe on Windows) on their PATH, but that symlink points to a file that does not exist, we will find that symlink, stop processing the path, and ultimately fail. We should notice that the symlink target does not exist and continue processing PATH, only failing if we fail to find an executable anywhere on the PATH.
Fixes #201
If a user has a symlink called dotnet (or dotnet.exe on Windows) on their PATH, but that symlink points to a file that does not exist, we will find that symlink, stop processing the path, and ultimately fail. We should notice that the symlink target does not exist and continue processing PATH, only failing if we fail to find an executable anywhere on the PATH.