Я предлагаю разделить часть этого кода в C ++ DLL (не библиотеку классов) и затем использовать атрибуты DllImport в C # для доступа к этим функциям (см. http://msdn.microsoft.com/en-us/library/26thfadc.aspx).. Затем вы все равно можете использовать эту DLL в своем приложении MFC. путем добавления зависимости проекта (сначала добавьте оба проекта в одно и то же решение). Таким образом, автоматически создается оболочка lib и связывается с приложением MFC.
Другое решение (но, возможно, даже больше работы) заключается в создании межпроцессного взаимодействия между вашим MFC-приложением и клиентом C #, открыв именованный канал или сокет TCP. В качестве протокола вы можете либо создать свой собственный (как мы это делали в нашей компании), либо выбрать что-то вроде XML-RPC, SOAP и т. Д. В качестве примера вы можете попытаться заставить gSOAP работать на вашем сервере MFC, а затем определить файл WSDL. и клиентский код C # будет автоматически сгенерирован из этого Visual Studio.
Другим решением является превращение части вашего приложения MFC в COM DLL. Тогда его могут использовать как клиенты MFC, так и клиенты C #. Но я не думаю, что это решение добавляет что-то большее, чем «обычное» решение DLL.
Извините, но я не знаю простого решения (или хотя бы одного, которое не требует много работы).