Вы можете использовать Reflection для загрузки сборки во время выполнения.
Вот фрагмент кода, который вы можете использовать:
Assembly myAssembly ;
myAssembly = Assembly.LoadFile("myDll.dll");
object o;
Type myType = myAssembly.GetType("<assembly>.<class>");
o = Activator.CreateInstance(myType);
Здесь вы можете найти хороший учебник.