Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 10.07.2006
Откуда: Moscow
Есть .NET приложение которое устанавливает подключение с сервером VMWare (VMWare Server 2.0) по средством библиотеки VMWareLib.dll, которая в свою очередь обращается к COM объекту VixCOM.dll (Входит в состав пакета VMWare VIX API).
Приложение компилируется, но работает только в том случае, если в настройках проекта в поле Platform Target указать значение x86. Если указать 'Any CPU' или 'x64', то приложение не сможет обращаться к COM объекту, так как в документации к VIX API сказано
Цитата:
For 64-bit Windows, 32-bit libraries can be used in emulation mode (WoW64).
.
Проблема в следующем:
Есть SharePoint 2007 x64, и он работает только со сборками x64. При попытке подсунуть ему 32ух битную dll, он пишет что не может загрузить сборку. Вот что пишет Microsoft:
Цитата:
You must recompile existing 32-bit applications and custom assemblies (for example, Web Parts and event receivers) to run on the 64-bit architecture because the 64-bit edition of SharePoint cannot load a 32-bit assembly. Before you recompile existing applications or custom assemblies, verify that they are compiled to run on both architectures. If this is the case, do not compile them for a single architecture. (In Microsoft Visual Studio this build option is AnyCPU.)
If the existing applications are third-party applications, check with the third-party vendor regarding 64-bit versions and compatibility. In the case of custom contracted solutions for which you do not have the source, verify the solutions in a test 64-bit environment to ensure compatibility.

Нашел статью по теме, но в ней все очень сложно.
Подскажите пожалуйста, существует какое нибудь несложное решение данной проблемы?



Партнер
 

Member
Статус: Не в сети
Регистрация: 06.11.2003
нормально там написано, грубый и оч краткий перевод: нельзя грузить 32х битные библиотеки в 64х битный процесс и наоборот, обойти это можно только через межпроцссное взаимодействие, делаешь отдельный процесс под нужную битность который загрузит тебе нужную библиотеку и обращаешься к нему за данными средствами межпроцссного взаимодействия, можно использовать DСОМ но там расписываются свои осторожности... в общем проще контролировать самому IPC (проще всего наверно через remoting)


 

Member
Статус: Не в сети
Регистрация: 10.07.2006
Откуда: Moscow
DenisMak
Спасибо за ответ. Решение я нашел тут


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan