Возможно, вам следует изучить существующую платформу, которая делает именно то, что вы ищете.Например, Managed Extensibility Framework MEF
MEF представляет простое решение проблемы расширяемости во время выполнения.До сих пор любое приложение, которое хотело поддерживать модель плагинов, должно было создавать собственную инфраструктуру с нуля.Эти плагины часто бывают специфичными для приложения и не могут быть повторно использованы в нескольких реализациях.MEF предоставляет стандартный способ для хост-приложения выставлять себя и использовать внешние расширения.Расширения по своей природе могут повторно использоваться в различных приложениях.Тем не менее, расширение может быть реализовано в зависимости от приложения.Сами расширения могут зависеть друг от друга, и MEF позаботится о том, чтобы они были соединены в правильном порядке (еще одна вещь, о которой вам не придется беспокоиться).MEF предлагает набор подходов обнаружения для вашего приложения, чтобы найти и загрузить доступные расширения.
Или, если вам нужно быть в отдельном домене приложения, вы можете использовать Managed Addin Framework MAF
Но в вашем случае я думаю, что MEF должен сделать свое дело.Может быть, излишне, если у вас есть только один этот сценарий ... но это вариант.