Написание оболочки в C ++ / CLI вряд ли будет быстрее, маршаллер взаимодействия COM в CLR сильно оптимизирован.Он автоматически генерирует заглушки машинного кода из библиотеки взаимодействия, которую вы создаете, когда добавляете ссылку на COM-сервер.А выполняет намного больше работы, которая довольно незаметна и очень трудна для вас, связанная с исключениями.
Он гарантирует, что ошибки HRESULT правильно преобразованы в управляемые исключения и что управляемые исключения не могут проникнуть в код COM-сервера.Решение «сделай это быстро», которое вы получите, когда вы сделаете это, заставит вас срезать углы вот так.Теперь у вас есть что-то быстрое, но ненадежное.Получение управляемого исключения в неуправляемом коде крайне сложно диагностировать, весь контекст пропал.
Опции 1 и 3 - это одно и то же.Оба генерируют библиотеку взаимодействия, IDE просто запускает эквивалент Tlbimp для вас.
Здесь применимо обычное руководство.Сделайте сначала простую вещь, библиотека взаимодействия невероятно проста.Размышляйте над тем, чтобы сделать действительно сложную вещь, когда вы действительно можете измерить безупречные задачи и , у которых есть реальное представление, что с этим делать.Я никогда не видел, чтобы кто-нибудь решал, что C ++ / CLI-оболочка необходима.