Частота, с которой я сталкиваюсь с ситуацией, когда я должен вызвать собственный 32-разрядный код из управляемого 64-битного процесса, возрастает по мере того, как распространены 64-разрядные машины и приложения. Я не хочу отмечать мое приложение как 32-битное, и я не могу получить 64-битные версии кода, который вызывается.
Решением, которое я использую в настоящее время, является создание прокладок С++ COM, которые загружаются из процесса, чтобы 32-разрядные вызовы выполнялись из 64-битного процесса.
Это решение COM-прокладки работает хорошо, а вызовы перекрестных процессов обрабатываются за кулисами COM, что минимизирует накладные расходы этого подхода.
Я хотел бы сохранить все новые разработки, которые мы предпринимаем с помощью С#, и задался вопросом, есть ли какие-либо рамки, которые минимизируют накладные расходы на это. Я посмотрел на IPCChannel, но я чувствую, что этот подход не настолько опрятен, как решение COM-прокладки.
спасибо, Ed