protected override void OnStart(string[] args) { if (!ProgramUtils.IsMonoRuntime() && ProgramUtils.IsRuningOnWindows() && Environment.Version < Version.Parse("4.0.30319.17929")) { throw new ApplicationException("需要安装4.5或更新版本的Microsoft .NET Framework才能运行此程序!"); } if (Entrance.Parameter.OnServiceStarting != null) { Entrance.Parameter.OnServiceStarting.Invoke(); } if (Entrance.Parameter.LoadAllPlugins) { pluginActivators = AppDomain.CurrentDomain.GetAssemblies() .Select(ass => ass.GetTypes().FirstOrDefault(t => !t.IsAbstract && !t.IsNotPublic && t.IsClass && typeof(IPluginActivator).IsAssignableFrom(t) )).Where(t => t != null) .Select(t => (IPluginActivator)Activator.CreateInstance(t)).ToArray(); //启动所有插件 foreach (var activator in pluginActivators) { activator.Start(); } } //启动所有服务 foreach (var service in ServiceManager.Instance.GetItems()) { Console.Write($"服务[{service.Name}]"); HunterUtils.TryHunt(service, Entrance.Parameter.Properties); Console.Write($"->启动中"); service.Start(); Console.WriteLine($"->完成"); } if (Entrance.Parameter.OnServiceStarted != null) { Entrance.Parameter.OnServiceStarted.Invoke(); } }