Назад | Перейти на главную страницу

Решение для запуска 32-битной DLL в 64-битном процессе или наоборот

Я использую 64-разрядную версию Windows Vista Business. У меня есть веб-служба, написанная на .NET с использованием C #. У меня также есть клиентский сценарий на веб-странице, который взаимодействует с веб-службой. Это страница aspx под названием «Default.aspx». Я установил IIS и переместил папку своей веб-службы, содержащую веб-службу и все файлы, необходимые для ее запуска, включая страницу default.aspx, в C: \ inetpub \ wwwroot. Я открыл диспетчер IIS и все правильно настроил. Теперь я получаю сообщение об ошибке:

Была сделана попытка загрузить программу с неправильным форматом. (Исключение из HRESULT: 0x8007000B)

Мне сказали, что это может быть проблема с моим лицензионным ключом, приложение было настроено для другого формата или где-то есть поврежденный файл. Мой лицензионный ключ в порядке, и я не верю, что есть поврежденный файл. Я думаю, проблема в том, что я пытаюсь загрузить 32-битную DLL в 64-битный процесс или наоборот. Подробное сообщение об ошибке приведено ниже. Если бы кто-нибудь мог дать мне подробное решение, как я дал подробное описание, я был бы очень признателен. Я боролся с этим весь день, и я разочарован. пожалуйста, помогите мне.

Сведения об исключении: System.BadImageFormatException: была предпринята попытка загрузить программу с неправильным форматом. (Исключение из HRESULT: 0x8007000B)

Ошибка источника:

Во время выполнения текущего веб-запроса возникло необработанное исключение. Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений ниже.

Трассировки стека:

[BadImageFormatException: была сделана попытка загрузить программу с неправильным форматом. (Исключение из HRESULT: 0x8007000B)] Luxand.FSDK.ActivateLibrary (String LicenseKey) +0 FaceRecognition._Default.Page_Load (отправитель объекта, EventArgs e) в D: \ Project Details \ Layne Projects \ DotNet Project \ FaceRecognition \ FaceRecognition. aspx.cs: 60 System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e) +25 System.Web.Util.CalliEventHandlerDelegateProxy.Callback (отправитель объекта, EventArgs e) +42 System.Web .UI.Control.OnLoad (EventArgs e) +132 System.Web.UI.Control.LoadRecursive () +66 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428

В IIS 7 вы можете настроить пулы приложений для работы в 32-битном режиме; это очень полезно, когда вам нужно получить доступ к библиотекам DLL, которые доступны только для 32-битных систем.

Вы можете изменить свойства пула приложений по умолчанию, чтобы весь веб-сервер работал в режиме x86, или вы можете создать новый пул приложений, настроить его как 32-разрядный и назначить ему определенные веб-сайты и / или виртуальные каталоги.