Встроенная загрузка работает хорошо.Загрузка из .net выдает ошибку Не удается загрузить DLL 'my.dll':Недопустимый доступ к ячейке памяти

StackOverflow https://stackoverflow.com/questions/5375675

Вопрос

Я пытаюсь использовать встроенную библиотеку dll, используя DllImport.И я получаю такую ошибку.

Система.DllNotFoundException:Не удается загрузить библиотеку DLL 'my.dll':Недопустимый доступ к ячейке памяти.(Исключение из HRESULT:0x800703E6)

Эта библиотека dll загружается обычно когда вызывается из машинного кода (он используется из приложения delphi).Но когда я вызываю его из .net-кода, он выдает мне исключение выше.

Я прочитал эту ссылку Windows Vista:Не удается загрузить библиотеку DLL 'x.dll':Недопустимый доступ к ячейке памяти.(Исключение DllNotFoundException), но никакое решение не помогает.

ДЕП, права администратора здесь ни при чем.

P.S.Эта ситуация возникает в Windows 2008 server.На сервере Win 2003 и XP все работает отлично.

Это было полезно?

Решение

Кажется, я нашел проблему.Проблема была в функции DEP.Когда я включил DEP только для основных программ, это не дало никакого эффекта.Но когда я полностью отключил DEP, и перезагружен на моем сервере произошла ошибка.Еще одна вещь, которую я сделал - установил последние обновления для .net 4.0

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top