Невозможно загрузить DLL (модуль не найден HRESULT : 0x8007007E)

У меня есть библиотека 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);

Есть предложения?

105
задан Drew Noakes 29 July 2012 в 09:10
поделиться