diff --git a/src/Microsoft.OData.Cli/Program.cs b/src/Microsoft.OData.Cli/Program.cs index 91a851c6..28940d9f 100644 --- a/src/Microsoft.OData.Cli/Program.cs +++ b/src/Microsoft.OData.Cli/Program.cs @@ -1,5 +1,4 @@ -using System; -using System.CommandLine; +using System.CommandLine; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -24,14 +23,18 @@ static async Task Main(string[] args) /// private static void RegisterMsBuild() { + string pathToMsBuildExeInLatestVisualStudioVersion = string.Empty; const string defaultInstallDirOfVisualStudio = @"C:\Program Files\Microsoft Visual Studio\"; - var installDirOfLatestVisualStudio = Directory.GetDirectories(defaultInstallDirOfVisualStudio, "????", SearchOption.TopDirectoryOnly) - .Where(x => Path.GetFileName(x).All(char.IsDigit)) - .MaxBy(x => Path.GetFileName(x)); + if (Directory.Exists(defaultInstallDirOfVisualStudio)) + { + var installDirOfLatestVisualStudio = Directory.GetDirectories(defaultInstallDirOfVisualStudio, "????", SearchOption.TopDirectoryOnly) + .Where(x => Path.GetFileName(x).All(char.IsDigit)) + .MaxBy(x => Path.GetFileName(x)); - string pathToMsBuildExeInLatestVisualStudioVersion = Path.Combine( - Directory.GetDirectories(installDirOfLatestVisualStudio, "*", SearchOption.TopDirectoryOnly).FirstOrDefault() ?? string.Empty, - "MSBuild", "Current", "Bin", "MSBuild.exe"); + pathToMsBuildExeInLatestVisualStudioVersion = Path.Combine( + Directory.GetDirectories(installDirOfLatestVisualStudio, "*", SearchOption.TopDirectoryOnly).FirstOrDefault() ?? string.Empty, + "MSBuild", "Current", "Bin", "MSBuild.exe"); + } if (File.Exists(pathToMsBuildExeInLatestVisualStudioVersion)) { @@ -43,4 +46,4 @@ private static void RegisterMsBuild() } } } -} +} \ No newline at end of file