Пример #1
0
        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;
        }