我有一个带有非托管C++ API代码的dll库,我需要在我的.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);
有什么建议吗?