public static TM1ClientConfig Load(String configFilePath) { TM1ClientConfig config = null; if (String.IsNullOrEmpty(configFilePath)) { throw new ArgumentNullException(nameof(configFilePath)); } if (!File.Exists(configFilePath)) { String configDirPath = Path.GetDirectoryName(configFilePath); if (!Directory.Exists(configDirPath)) { Directory.CreateDirectory(configDirPath); } using (StreamWriter stream = File.CreateText(configFilePath)) { config = TM1ClientConfig.GetDefault(); JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings() { Formatting = Formatting.Indented, NullValueHandling = NullValueHandling.Ignore }); serializer.Serialize(stream, config); } } using (StreamReader file = File.OpenText(configFilePath)) { JsonSerializer serializer = new JsonSerializer(); config = (TM1ClientConfig)serializer.Deserialize(file, typeof(TM1ClientConfig)); } return(config); }