同步操作将从 faib920/codebuilder 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
// -----------------------------------------------------------------------// <copyright company="Fireasy"// email="faib920@126.com"// qq="55570729">// (c) Copyright Fireasy. All rights reserved.// </copyright>// -----------------------------------------------------------------------using CodeBuilder.Core;using Fireasy.Common.Extensions;using Fireasy.Common.Logging;using Fireasy.Windows.Forms;using Microsoft.Win32;using System;using System.Diagnostics;using System.IO;using System.Windows.Forms;using System.Xml;namespace CodeBuilder{static class Program{public static ApplicationContext Context { get; set; }/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(params string[] args){Application.ThreadException += Application_ThreadException;RemovePlugins();UpdatePlugins();Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Util.ClearTempFiles();CheckVersion();Context = new ApplicationContext();Context.MainForm = new frmStart(Context);Application.Run(Context) ;}static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e){var log = LoggerFactory.CreateLogger();log.Error("应用程序错误", e.Exception);ErrorMessageBox.Show("应用程序错误", e.Exception);}static void CheckVersion(){if (!File.Exists("AutoUpdate.exe")){return;}var file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "version.xml");var xml = new XmlDocument();xml.Load(file);var node = xml.SelectSingleNode("//local/check-date");if (Config.Instance.CheckUpdate || node == null || node.InnerText.To<DateTime>().AddDays(7) <= DateTime.Today){Process.Start("AutoUpdate.exe");if (node == null){node = xml.CreateNode(XmlNodeType.Element, "check-date", string.Empty);xml.SelectSingleNode("//local").AppendChild(node);}node.InnerText = DateTime.Today.ToShortDateString();xml.Save(file);}}static void RemovePlugins(){var cfg = PlugInConfig.Get();if (cfg.Removed.Count > 0){cfg.Removed.ForEach(s =>{File.Delete(Path.Combine(Application.StartupPath, s + ".dll"));});}PlugInConfig.Clear();}static void UpdatePlugins(){if (!Directory.Exists(Config.PluginStoragePath)){return;}try{RecursiveDirectory(string.Empty);}catch (Exception exp){ErrorMessageBox.Show("插件更新失败,请重新下载更新!", exp);}finally{Directory.Delete(Config.PluginStoragePath, true);}}private static void RecursiveDirectory(string subpath){var path1 = string.IsNullOrEmpty(subpath) ? Application.StartupPath : Path.Combine(Application.StartupPath, subpath);if (!Directory.Exists(path1)){Directory.CreateDirectory(path1);}var path2 = string.IsNullOrEmpty(subpath) ? Config.PluginStoragePath : Path.Combine(Config.PluginStoragePath, subpath);foreach (var file in Directory.GetFiles(path2, "*.*")){var info = new FileInfo(file);var destFileName = Path.Combine(path1, info.Name);if (File.Exists(destFileName) && ".usercfg".Equals(info.Extension, StringComparison.OrdinalIgnoreCase)){continue;}File.Copy(file, destFileName, true);}foreach (var dir in Directory.GetDirectories(path2)){RecursiveDirectory(dir.Substring(Config.PluginStoragePath.Length + 1));}}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。