/// <summary> /// 加载调试应用插件 /// </summary> private static void LoadDebugPlugin() { if (BasePublic.AppStartParas.Count < 2) return; if (!BasePublic.AppStartParas[0].Contains("Release")) return; var paraPath = string.Empty; for (var i = 1; i < BasePublic.AppStartParas.Count; i++) { paraPath += " " + BasePublic.AppStartParas[i]; } paraPath = paraPath.Trim().Replace("\\", "/"); if (paraPath.IsExistFile()) { PluginThisFile(paraPath, true); } else { paraPath = BasePublic.PluginsDirPath + "\\"+ paraPath+ ".dll"; if (paraPath.IsExistFile()) { var item = new PluginFileHelper().GetPluginInfo(paraPath); PublicStatic.AllPlugins.Add(item.Title, item); LoadFirstTime(); } } }
/// <summary> /// 扫描磁贴文件夹 /// </summary> private static void LoadPluginDir() { if (BasePublic.PluginsDirPath.IsExistDir()) { var dllfiles = BasePublic.PluginsDirPath.ToFileNamesWithPath("*.dll"); if(dllfiles.IsEmptyStrings()) return; foreach (var dllfile in dllfiles) { if (dllfile.Contains(".Plugin.") && dllfile.ToNameNoExt().Split('.').Length == 3) { if (dllfile.IsExistFile()) { var item = new PluginFileHelper().GetPluginInfo(dllfile); PublicStatic.AllPlugins.Add(item.Title, item); } } } LoadFirstTime(); } else { BasePublic.PluginsDirPath.ToCreatDir(); } }
/// <summary> /// 加载单个磁贴文件 /// </summary> /// <param name="dllfile"></param> /// <param name="isDebug"></param> private static void PluginThisFile(object dllfile,bool isDebug) { var item = new PluginFileHelper().GetPluginInfo(dllfile as string); if (!item.IsEmpty()) { PublicStatic.AllPlugins.Add(item.Title, item); if (!item.IsHidden) { //PublicStatic.TilePal.Controls.Add(new Control.Tase.Tile(item, Tile_MouseClick)); } if (isDebug) { PluginFileHelper.LoadPluginFile(item); } } }