У меня есть библиотека dll с неуправляемым кодом С++ API, который мне нужно использовать в моем приложении .NET 4.0. Но каждый метод, который я пытаюсь загрузить с моей DLL, я получаю:
Невозможно загрузить DLL 'MyOwn.dll': указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)
Я прочитал и попробовал решения severa, которые я нашел в Интернете. Ничего не работает.
Я попытался использовать следующие методы:
[DllImport("MyOwn.dll", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs((UnmanagedType.I4))]
public static extern Int32 MyProIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
Когда я попытался выполнить эту статью, и когда я запускаю этот пример (из загруженного кода), он запускается без проблем (используемая dll находится в bin/debug папка)
Я скопировал свою dll (вместе со всеми файлами в зависимости от моей папки bin).
Я также пробовал этот подход, но получил ту же ошибку:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
Любые предложения?