У меня возникают некоторые трудности при попытке использовать неуправляемый код dll
из моего приложения (написано в C # framework 4.0).
Я использую dll
импорт следующим образом
[DllImport(@"C:\MGW_SDK.dll", EntryPoint = "fInicializaSDK")]
public static extern int fInicializaSDK();
Странно то, что при вызове из моей среды разработки (Windows XP) он работает просто отлично, но на рабочем сервере (Windows7) генерирует следующее исключение:
System.DllNotFoundException
: невозможно загрузить DLL ' C:\MGW_SDK.dll'
: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E) в Comtpaq.AdminPack.SDKWrapper.fInicializaSDK()
в Comtpaq.AdminPack.AdminPaqRepository.InitializeSDK()
в C:\Work\AgroIn\AdminPaqRepository.cs
: строка 30
Я уже запустил Обходчик зависимостей , который показывает следующую зависимость как конфликтующую: C:\windows\system32\SHLWAPI.DLL
Я уже пытался скопировать это dll
в мой каталог развертывания
MGW_SDK.dll
включен c:\
(как говорит путь)
Я уже установил C Runtime Library
Я также заметил некоторые интересные вещи: за исключением, путь разработки показывает C:\Work\AgroIn\AdminPaqRepository.cs:line 30
В чем еще может быть проблема здесь?
Редактировать
Я создал небольшое консольное приложение только с одним из extern
/ dllimport
методов, которые я использую с MGW_SDK.dll
, и запустил его без проблем (без DllNotFoundException
), так что это, похоже, связано с приложение, которое я создаю (служба WCF). Этот сервис размещен на WAS, но я все еще не могу найти проблему.