Beispiel #1
0
        public async override Task <bool> Init()
        {
            try
            {
                await base.Init();

                string pluginPath = System.IO.Path.Combine(AppContext.BaseDirectory, "Plugin");
                PluginFactory.Load(pluginPath);
                bool isOk = PluginFactory.Init(this).Result;
                return(true);
            }
            catch (ReflectionTypeLoadException ex)
            {
                Console.WriteLine("初始化失败:\r\n{0}", ex.ToString());
                //Logger.Error("load exception:\r\n{0}", ex.ToString());
                if (ex.LoaderExceptions != null)
                {
                    foreach (Exception e in ex.LoaderExceptions)
                    {
                        //Logger.Error("{0}", e.ToString());
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine("初始化失败:\r\n{0}", ex.ToString());
                //Logger.Error("init exception:\r\n{0}", ex.ToString());
                return(false);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Init
        /// </summary>
        /// <returns></returns>
        public virtual Task <bool> Init()
        {
            string pluginPath = System.IO.Path.Combine(AppContext.BaseDirectory, "Plugin");

            PluginFactory.Load(pluginPath);
            return(PluginFactory.Init(this));
        }