///// <summary> ///// ///// </summary> //private void Load() //{ // // TODO: load process addin // // // string addinDirectory = Path.Combine(Application.StartupPath, "ProcessAddin"); // DirectoryInfo dir = new DirectoryInfo(addinDirectory); // if (dir.Exists) // foreach (FileInfo file in dir.GetFiles("*.dll")) // Register(file.FullName); //} /// <summary> /// /// </summary> /// <param name="path"></param> private void Register(string path) { AssemblyName assemblyName = new AssemblyName(); assemblyName.Name = Path.GetFileNameWithoutExtension(path); assemblyName.CodeBase = path; Assembly assembly = Assembly.Load(assemblyName); foreach (Type type in assembly.GetExportedTypes()) { if (type.IsClass && typeof(IProcessAddin).IsAssignableFrom(type)) { IProcessAddin p = (IProcessAddin )Activator.CreateInstance(type); this._processAddin = p; //log.Error("Addin {0} was already registered", addin.Name); //else //{ // addinRegistry.Register(addin); //} } } }
///// <summary> ///// ///// </summary> //private void Load() //{ // // TODO: load process addin // // // string addinDirectory = Path.Combine(Application.StartupPath, "ProcessAddin"); // DirectoryInfo dir = new DirectoryInfo(addinDirectory); // if (dir.Exists) // foreach (FileInfo file in dir.GetFiles("*.dll")) // Register(file.FullName); //} /// <summary> /// /// </summary> /// <param name="path"></param> private void Register( string path) { AssemblyName assemblyName = new AssemblyName(); assemblyName.Name = Path.GetFileNameWithoutExtension(path); assemblyName.CodeBase = path; Assembly assembly = Assembly.Load(assemblyName); foreach (Type type in assembly.GetExportedTypes()) { if (type.IsClass && typeof(IProcessAddin ).IsAssignableFrom(type)) { IProcessAddin p= (IProcessAddin )Activator.CreateInstance(type); this._processAddin = p; //log.Error("Addin {0} was already registered", addin.Name); //else //{ // addinRegistry.Register(addin); //} } } }