Вы не спрашивали о компиляции, поэтому я предполагаю, что вы просто хотите создать экземпляр класса и использовать его.
Вы должны заставить класс реализовать интерфейс, охватывающий необходимую вам функциональность, а затем создать его экземпляр, используя Класс активатора :
ObjectHandle fooHandle = Activator.CreateInstanceFrom(
@"C:\somePath\FooAssembly.dll", "FooNamespace.Foo");
IFoo foo = (IFoo)fooHandle.Unwrap();
Класс должен иметь конструктор по умолчанию. При загрузке сборок по имени, как указано выше, учитывайте последствия для безопасности.