无法在我的项目中加载dll文件

时间:2012-12-18 19:14:17

标签: c# dll

在我的项目中,我无法加载dll文件

dll文件 - >平台目标是x86

和我的项目 - >平台目标是Anycpu

机器正在运行64位操作系统

这是我使用的代码

 pDll = NativeMethods.LoadLibrary(dllname);
// some code here
static class NativeMethods
{
    [DllImport("kernel32.dll")]
    public static extern IntPtr LoadLibrary(string dllToLoad);

    [DllImport("kernel32.dll")]
    public static extern IntPtr GetProcAddress(IntPtr hModule, string procedureName);

    [DllImport("kernel32.dll")]
    public static extern bool FreeLibrary(IntPtr hModule);
}

为什么我无法加载此dll文件?

抱歉我的英文不好

1 个答案:

答案 0 :(得分:2)

假设其他一切正常(DLL名称等):

您所描述的是一个已知问题...例如,如果您的DLL是32位且您使用的操作系统是64位,则您的.NET应用程序将以64位模式运行...

最简单的解决方案:如果DLL仅在x86中可用,则需要编译x86而不是AnyCPU。

否则你将需要该DLL的64位版本然后你遇到一个被称为“并排组装”的问题...我认为你会发现这些有用: