private string FindVisualStudio(string requiredComponent) { var arguments = new[] { "-latest", "-products", "*", "-requires", requiredComponent, "-property", "installationPath" }; var releaseInstallationPath = ProcessUtils.Run(Environment.CurrentDirectory, VSWhere, arguments) .ThrowIfError() .StdOut; if (!string.IsNullOrEmpty(releaseInstallationPath)) { return(releaseInstallationPath); } var prereleaseInstallationPath = ProcessUtils.Run( Environment.CurrentDirectory, VSWhere, arguments.Concat(new[] { "-prerelease" })) .ThrowIfError() .StdOut; if (!string.IsNullOrEmpty(prereleaseInstallationPath)) { return(prereleaseInstallationPath); } return(null); }
public ProcessRunResult Run(bool throwOnError = true) { var result = ProcessUtils.Run(WorkingDirectory, FileName, Arguments); if (throwOnError) { result.ThrowIfError(); } return(result); }