Что вы действительно хотите здесь?Вы хотите предоставить API-интерфейс сторонним разработчикам для управления вашим приложением?Или вы действительно хотите заменить свой пользовательский интерфейс MFC на .NET UI?
Если это первое, то ответ - COM.COM виден из .NET, поэтому, если ваше приложение MFC поддерживает интерфейс COM, приложения .NET могут выполнять вызовы через него.
В настоящее время я работаю над приложением MFC, которое поддерживает именно то, что вы описываете.Наш EXE предоставляет COM-интерфейс, которым могут управлять другие приложения, написанные на C ++, C #, VB или даже Java.
[Редактировать в ответ на ваши изменения]
Если вы в конечном итоге захотитечтобы заменить пользовательский интерфейс MFC на пользовательский интерфейс WinForms / WPF, вы можете обернуть существующий бизнес-код C ++ в C ++ / CLI и получить к нему доступ из C #.Добавление COM API на самом деле не является промежуточным этапом в вашем сценарии.Это большая работа, и, вероятно, она того не стоит, если вы действительно хотите заменить пользовательский интерфейс.
Вы можете обратиться к этому вопросу , чтобы прочитать подробности моего опыта работы сзамена интерфейса MFC на WPF.