Previously we had software in MFC (VC6), VB6 and C# applications that needed to call the same engine written in C++ (and MFC). The engine required C++ for speed. At the time we decided to use COM as the interface because all three could use it with the least issues in marshalling, etc.
Our MFC application is now deprecated and we have recently decided to dump VB6, so what we've got left is C#.
We can just leave the COM engine as-is, but it would be nice to get away from COM registration, etc., and have a managed interface to work with. COM registration occasionally causes support issues if there is something wrong with the person's machine.
Is it possible to have a dll with the existing unmanaged C++/MFC, and a .NET front end interface?