/// <summary> /// 加载 /// </summary> /// <param name="slnpath">项目文件路径</param> public static void Save(string slnpath, IList <IScriptLayout> scripts) { StringBuilder sb = new StringBuilder(); string directory = Path.GetDirectoryName(slnpath); sb.Append("{\"" + Scripts + "\":["); foreach (var item in scripts) { ScriptHelp.SaveOne(item, directory); sb.Append("\"" + item.ScriptName + "\","); } if (sb[sb.Length - 1] == ',') { sb.Remove(sb.Length - 1, 1); } sb.Append("]}"); using (FileStream fs = File.Open(slnpath, FileMode.Create)) { byte[] datas = System.Text.Encoding.UTF8.GetBytes(sb.ToString()); fs.Write(datas, 0, datas.Length); datas = null; } sb.Clear(); sb = null; }
/// <summary> /// 加载 /// </summary> /// <param name="slnpath">项目文件路径</param> public static IList <IScriptLayout> Load(string slnpath) { string json = ""; using (FileStream fs = File.Open(slnpath, FileMode.Open)) { byte[] datas = new byte[fs.Length]; fs.Read(datas, 0, datas.Length); json = System.Text.Encoding.UTF8.GetString(datas); datas = null; } JObject jobj = (JObject)JsonConvert.DeserializeObject(json); JToken scriptpaths = jobj[Scripts]; string directory = Path.GetDirectoryName(slnpath); IList <IScriptLayout> scripts = new List <IScriptLayout>(); foreach (var item in scriptpaths) { IScriptLayout script = ScriptHelp.LoadOne(Path.Combine(directory, item.ToString())); if (script != null) { scripts.Add(script); } } return(scripts); }