У меня есть библиотека dll с неуправляемым кодом C ++ API, который мне нужно использовать в моем приложении .NET 4.0. Но каждый метод, которым я пытаюсь загрузить свою dll, выдает ошибку:
Невозможно загрузить библиотеку DLL MyOwn.dll: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)
Я прочитал и попробовал несколько решений, которые нашел в Интернете. Ничего не работает ..
Я пробовал использовать следующие методы:
[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);
Какие-либо предложения?