public static bool LoadAmbientes() { if (Ambiente.ListAmbientes.Count > 0) { Ambiente.ListAmbientes.Clear(); } // Busca o diretorio configurado no RMTools.config DirectoryInfo dirTotvs = new DirectoryInfo(ToolProcess.DirectoryPath()); var listDirTotvs = dirTotvs.EnumerateDirectories(); try { foreach (var dirCorporeRM in listDirTotvs) { DirectoryInfo dirCorporeRMInfo = new DirectoryInfo(dirCorporeRM.FullName); var listDirCorporeRM = dirCorporeRMInfo.EnumerateDirectories(); foreach (var subDir in listDirCorporeRM) { if (subDir.Name == "RM.Net") { if (File.Exists(subDir.FullName + @"\RM.Host.Service.exe")) { Ambiente ambiente = new Ambiente(); ambiente.name = dirCorporeRM.Name; ambiente.path = dirCorporeRM.FullName; ambiente.pathRmnet = subDir.FullName; FileInfo libVersion = new FileInfo(subDir.FullName + @"\RM.Version.dll"); ambiente.libVersion = FileVersionInfo.GetVersionInfo(libVersion.FullName).FileVersion.ToString(); ambiente.rmExe = subDir.FullName + @"\RM.exe"; ambiente.hostManager = subDir.FullName + @"\RM.Host.ServiceManager.exe"; ambiente.aliasManager = subDir.FullName + @"\RM.AliasManager.exe"; Ambiente.ListAmbientes.Add(ambiente); } } } } if (Ambiente.ListAmbientes.Count() == 0) { if (ToolProcess.Print("Diretório inválido!\nDeseja configurar um novo diretório?", "y") == System.Windows.Forms.DialogResult.Yes) { FormSelecionarDiretorioPadrao formSelecionarDiretorio = new FormSelecionarDiretorioPadrao(); formSelecionarDiretorio.ShowDialog(); if (!LoadAmbientes()) { return(false); } } else { return(false); } } return(true); } catch (System.Exception err) { Console.WriteLine(err); return(false); } }