У меня есть DLL, написанная на Visual C ++, и приложение, написанное на C #. Приложение, написанное на C #, уже использует IPC между несколькими экземплярами самого себя, поэтому оно запускает только один экземпляр (оно пытается запустить сервер IPC и, если не может предположить, что оно уже запущено, в этом случае оно отправляет аргументы командной строки через IPC для существующего приложения).
Теперь я хочу отправить команды из Visual C ++, однако, даже когда я создаю определение типа в Visual C ++, совпадающее с определением в C # (на уровне реализации), оно отклоняет соединение, потому что они по сути все еще два разных типы (из двух разных сборок).
Я думал об использовании Reflection в Visual C ++ для извлечения типа из сборки C #, но я не могу этого сделать, потому что тогда мне придется отправлять сборку вдоль библиотеки DLL (что противоречит цели использования библиотеки DLL). API для приложения).
Я не уверен, что смогу сделать это иначе, кроме как сохранить класс в еще одной DLL и сделать так, чтобы и приложение, и DLL API ссылались на этот класс, но это также не идеальное решение как я хотел бы распространять одну API-библиотеку API.
Есть ли какие-либо предложения относительно того, как я могу подключиться через IPC (другие виды связи, такие как TCP, не разрешены) для отправки запросов в приложение?