UnityEditor.SyncVS.DeriveProgramFilesSentinel C# (CSharp) Method

DeriveProgramFilesSentinel() private static method

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]);
        }

Usage Example

示例#1
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"));
        }
All Usage Examples Of UnityEditor.SyncVS::DeriveProgramFilesSentinel