Недавно я обновил службу windows С# для запуска в виде 64-разрядного .net-процесса. Обычно это было бы тривиально, но система использует 32-битную DLL, написанную на С++. Невозможно преобразовать эту DLL в 64-разрядную, поэтому я обернул DLL в отдельный 32-разрядный процесс .net и открыл интерфейс .net через удаленный доступ.
Это довольно надежное решение, но я бы предпочел запустить систему как единый процесс. Есть ли способ загрузить мою 32-битную DLL в 64-битный процесс и получить доступ к нему напрямую (возможно, через какой-то слой thunking)?