Вы можете получить список загруженных сборок, используя это:
Assembly assembly = System.Reflection.AppDomain.CurrentDomain.GetAssemblies()
Оттуда вы можете получить список типов в сборке (при условии открытых типов):
Type[] types = assembly.GetExportedTypes();
Затем вы можете спросить каждый тип, поддерживает ли он этот интерфейс, найдя этот интерфейс на объекте:
Type interfaceType = type.GetInterface("ISomething");
Не уверен, что есть более эффективный способ сделать это с помощью отражения.