Я был на этом пути раньше. Решение, которое я выбрал, состояло в том, чтобы создать NEW C # сборку (я позже перенес это на Prism), которая через com-взаимодействие открыла для меня функциональность, необходимую для достижения. С помощью «черного ящика» я обнаружил, что вызовы API стали проще: я смог сократить количество классов, с которыми мне приходилось сталкиваться через барьер взаимодействия.
Я посмотрел на Hydra, но то, что я пытался сделать, было излишним ... это был доступ к стороннему SDK, который был представлен в сборках .net для обработки данных. Если вы хотите встроить функциональность (объекты GUI, ECT) в ваше приложение, вам следует подумать о Hydra.
Я использовал Managed.VCL для очень ранней версии системы, но позже отказался от нее из-за подхода взаимодействия Prism / C # com, который был проще в развертывании и более стабилен.