Я бы, вероятно, начал с рассмотрения структуры Managed Extensibility Framework (http://www.codeplex.com/MEF).. Он предназначен для создания структуры, позволяющей создавать подключаемые модули в соответствии с требованиями различных приложений (в основном так чтобы понять, как каждое приложение выполняет свои плагины.) Это фактически метод, который Visual Studio 2010 использует для создания плагинов.
Из коробки он предоставляет вам несколько полезных функций, таких как мониторинг каталогов для новых плагинов и отслеживание зависимостей. От вас все еще зависит разработка интерфейсов / контрактов, необходимых людям для создания плагинов для вашей системы, но от этого уходит основная работа.