Example #1
0
        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);
            }