public string ResolvePath() { if (ShouldlyEnvironmentContext.IsWindows()) { return(WindowsPath); } if (ShouldlyEnvironmentContext.IsMac()) { return(MacPath); } if (ShouldlyEnvironmentContext.IsLinux()) { return(LinuxPath); } return(string.Empty); }
private static string Discover(string path) { if (path == null) { return(null); } var exeName = Path.GetFileName(path); var fullPathFromPathEnv = GetFullPath(exeName); if (!string.IsNullOrEmpty(fullPathFromPathEnv)) { return(fullPathFromPathEnv); } if (ShouldlyEnvironmentContext.IsMac()) { var result = new[] { "/Applications/" } .Where(p => { return(p != null); }) .Select(pf => { var r = Path.Combine(pf, path); return(r); }) .FirstOrDefault(File.Exists); return(result); } return(new[] { Environment.GetEnvironmentVariable("ProgramFiles(x86)"), Environment.GetEnvironmentVariable("ProgramFiles"), Environment.GetEnvironmentVariable("ProgramW6432") } .Where(p => p != null) .Select(pf => Path.Combine(pf, path)) .FirstOrDefault(File.Exists)); }