Exemplo n.º 1
0
        ///// <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);
                    //}
                }
            }
        }
Exemplo n.º 2
0
        ///// <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);
                    //}
                }
            }
        }