using System; using System.Reflection; class App { static void Main() { try { object obj = FromAssembly("lib"); InvokeObject(obj); } catch(Exception e1) { Console.WriteLine(e1.Message); } } static object FromAssembly(string shortName) { Console.WriteLine("Use Assembly.Load"); AssemblyName name = new AssemblyName(); name.Name = shortName; Assembly a = Assembly.Load(name); Type type = a.GetType("LibraryCode"); ConstructorInfo ctor = type.GetConstructor(Type.EmptyTypes); return ctor.Invoke(null); } static void InvokeObject(object obj) { Type type = obj.GetType(); MethodInfo mi = type.GetMethod("GetVersion"); string version = (string)mi.Invoke(obj, null); Console.WriteLine(version); } }