Beispiel #1
0
        /// <summary>
        /// 从程序集中获取应用软件插件方案系统信息
        /// </summary>
        /// <param name="assembly">程序集,若为null则获取当前程序集信息</param>
        /// <returns></returns>
        public static IPluginPlanSystem CreatePluginPlanSystem(Assembly assembly = null)
        {
            var pluginPlanSystem = new PluginPlanSystem();

            pluginPlanSystem.SysInfo = CreateAssemblySystemInfo(assembly);
            pluginPlanSystem.Plans.Add(CreatePluginPlan(pluginPlanSystem.SysInfo.AppPath));
            return(pluginPlanSystem);
        }
Beispiel #2
0
 /// <summary>
 /// 从程序集目录中,获取各个程序集的应用软件插件方案系统信息
 /// </summary>
 /// <param name="assemblyDiretory"></param>
 /// <returns></returns>
 public static IEnumerable<IPluginPlanSystem> CreatePluginPlanSystems(string assemblyDiretory)
 {
     var assemblies = Directory.GetFiles(assemblyDiretory, "*.exe").Select(path => Assembly.LoadFile(path));
     foreach (var assembly in assemblies)
     {
         var planSystem = new PluginPlanSystem();
         planSystem.SysInfo = CreateAssemblySystemInfo(assembly);
         planSystem.Plans.Add(CreatePluginPlan(assembly.Location));
         yield return planSystem;
     }
 }