Mam bibliotekę DLL z niezarządzanym kodem API C++, który muszę użyć w mojej aplikacji .NET 4.0. Ale każda metoda próbuję załadować moje dll pojawia się błąd:Nie można załadować biblioteki DLL (moduł nie został znaleziony HRESULT: 0x8007007E)
Unable to load DLL 'MyOwn.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Przeczytałem i sprawdzone rozwiązania Severa znalazłem w internecie. Nic nie działa ..
Próbowałem przy użyciu następujących metod:
[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);
Kiedy próbowałem następujące this article i kiedy uruchomić ten przykład (z pobranego kodu) działa bez problemu (dll jest używany w folder bin/debug)
Skopiowałem moją bibliotekę DLL (wraz ze wszystkimi plikami, od których zależy to do mojego folderu bin).
Próbowałem też to podejście, ale mam ten sam błąd:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
jakieś sugestie?
jest to jest ok mieć wszystkie zależności w folderze System32, a moja biblioteka dll gdzie indziej? –