public TypeProvidersExternalProcess(Lifetime lifetime, ILogger logger, IShellLocks locks,
                                     IProcessStartInfoPatcher processInfoPatcher, JetProcessRuntimeRequest request, NuGetVersion nuGetVersion)
     : base(lifetime, logger, locks, processInfoPatcher, request)
 {
     myRequest      = request;
     myNuGetVersion = nuGetVersion;
 }
        private JetProcessRuntimeRequest GetProcessRuntime()
        {
            var packageReferenceTracker = mySolution.GetComponent <NuGetPackageReferenceTracker>();

            var installedPackages      = packageReferenceTracker.GetAllInstalledPackages();
            var containsLegacyCompiler = installedPackages.Any(x => x.PackageIdentity.Id == "FSharp.Compiler.Tools");

            var buildTool = myToolset.GetBuildTool();
            var mutator   = MsBuildConnectionFactory.GetEnvironmentVariablesMutator(buildTool);

            var runtimeRequest = buildTool !.UseDotNetCoreForLaunch && !containsLegacyCompiler
        ? JetProcessRuntimeRequest.CreateCore(mutator, true)
        : JetProcessRuntimeRequest.CreateFramework(mutator: mutator);

            return(runtimeRequest);
        }