Все зависит от конкретной задачи.
Лично я использовал скрипт машину для выполнения плагинов. Скрипты писались на IronPython. Пользователь выбирал задачу, приложение находило нужный скрипт, загружало его в ScriptHost и выполняло. Такая система удобна, если ваше приложение имеет собственное API, доступное из скриптов и любой желающий может написать свою задачу для приложения.
SDK,
пример.
Второй вариант - это написание библиотек на C# реализующих один интерфейс.
тыц