private static DeriveProgramFilesSentinel ( ) : string | ||
return | string |
private static string DeriveProgramFilesSentinel()
{
char[] separator = new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar };
string str = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles).Split(separator).LastOrDefault<string>();
if (string.IsNullOrEmpty(str))
{
return "Program Files";
}
int startIndex = str.LastIndexOf("(x86)");
if (0 <= startIndex)
{
str = str.Remove(startIndex);
}
return str.TrimEnd(new char[0]);
}
private static string DeriveVisualStudioPath(string debuggerPath) { string a1 = SyncVS.DeriveProgramFilesSentinel(); string a2 = "Common7"; bool flag = false; string[] strArray = debuggerPath.Split(new char[2] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); string path1 = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); foreach (string str in strArray) { if (!flag && string.Equals(a1, str, StringComparison.OrdinalIgnoreCase)) { flag = true; } else if (flag) { path1 = Path.Combine(path1, str); if (string.Equals(a2, str, StringComparison.OrdinalIgnoreCase)) { break; } } } return(Paths.Combine(path1, "IDE", "devenv.exe")); }