Как в 64-bit приложение загрузить 32-bit dll.
От: alvas  
Дата: 26.11.09 04:49
Оценка:
Как в 64-bit .net приложение загрузить 32-bit .net dll. Спасибо.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re: Как в 64-bit приложение загрузить 32-bit dll.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 26.11.09 05:27
Оценка:
Здравствуйте, alvas, Вы писали:

A>Как в 64-bit .net приложение загрузить 32-bit .net dll. Спасибо.


Никак. Пожалуйста.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Как в 64-bit приложение загрузить 32-bit dll.
От: Аноним  
Дата: 26.11.09 08:28
Оценка:
Здравствуйте, alvas, Вы писали:

A>Как в 64-bit .net приложение загрузить 32-bit .net dll. Спасибо.

Загрузить в адресное пространство — никак. Можно написать out-proc COM в качестве прокси, и вызывать необходимые функции через него.
Re[2]: Как в 64-bit приложение загрузить 32-bit dll.
От: alvas  
Дата: 26.11.09 08:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, alvas, Вы писали:


A>>Как в 64-bit .net приложение загрузить 32-bit .net dll. Спасибо.

А>Загрузить в адресное пространство — никак. Можно написать out-proc COM в качестве прокси, и вызывать необходимые функции через него.

А можно примерчик?
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re: Как в 64-bit приложение загрузить 32-bit dll.
От: servancho Россия https://dedis.ru
Дата: 26.11.09 15:22
Оценка:
Здравствуйте, alvas, Вы писали:

A>Как в 64-bit .net приложение загрузить 32-bit .net dll. Спасибо.


Поднимаешь отдельный 32бит процесс (сервер), в него загружаешь что нужно. IPC через remoting.
В 32битном хосте RemotingConfiguration.RegisterActivatedServiceType для типа.
На клиенте регистрируешь тип через RemotingConfiguration.RegisterActivatedClientType.
Т.о. ты в 64бит приложении будешь звать new Type, на самом деле будет создаваться прокси к объекту созданному в 32бит хосте.

У нас так реализован универсальный 64бит хост (основное приложение 32 бит), мы на клиенте регистрируем тип который должен в 64 битах выполняться, для него поднимается 64бит хост, настраивается remoting, а остальной код прозрачен, т.е. по new создается объект либо внутри 32бит процесса, либо тут создается прокся, а реальный объект живет в 64бит хосте.

Перечитал, объяснение путаное, но думаю мысль ясна.
Если руки золотые, не важно из какого места они растут.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.