public static bool TryGetGlobalSettings(string path, out GlobalSettings globalSettings) { globalSettings = null; string globalJsonPath = null; if (Path.GetFileName(path) == GlobalFileName) { globalJsonPath = path; path = Path.GetDirectoryName(path); } else if (!HasGlobalFile(path)) { return false; } else { globalJsonPath = Path.Combine(path, GlobalFileName); } globalSettings = new GlobalSettings(); var json = File.ReadAllText(globalJsonPath); var settings = JObject.Parse(json); var projects = settings["projects"]; var dependencies = settings["dependencies"] as JObject; globalSettings.ProjectPaths = projects == null ? new string[] { } : projects.ValueAsArray<string>(); globalSettings.PackagesPath = settings.Value<string>("packages"); globalSettings.FilePath = globalJsonPath; return true; }