private void frmPluginTest_Load(object sender, EventArgs e) { string[] dllFilenames = Directory.GetFiles(@"P:\PJKPlugin\TabPagePlugins","TabPage*.dll"); foreach (string filename in dllFilenames) { try { Assembly asm = Assembly.LoadFrom(filename); Type[] typesInAssembly = asm.GetTypes(); foreach (Type type in typesInAssembly) { if (null != type.GetInterface(typeof(PJKPlugins.ICMSTabPage).FullName)) { PJKTabPage oTP = Activator.CreateInstance(type) as PJKTabPage; this.PluginTabControl.Controls.Add(oTP); } } } catch { // Not a valid assembly, move on } } }