64 位进程中的 AnyCPU C# DLL 无法引用 64 位C++ DLL(给出错误:无法加载文件或程序集)
AnyCPU C# DLL in 64bit process is unable to refer 64 bit C++ DLL(Giving error: Could not load file or assembly)
当我提供 64 位C++ dll 作为对将生成 AnyCPU C# dll 的 C# 项目的引用时。我能够生成 C# dll,但是当我启动应用程序时出现一个错误,说:
类型 : System.BadImageFormatException, mscorlib, Version=4.0.0.0, Culture=Neutral, PublicKeyToken=xxxxxxx 消息:无法加载文件或程序集"MyDLLName,版本=1.0.0.0,区域性=中性,公钥令牌=空"或其依赖项之一。尝试加载格式不正确的程序。
由于 C# dll 无法获取C++ dll。那么,如何解决此错误呢?
您正在尝试从 32 位进程加载 64 位库。您的 C# dll 可以是 AnyCPU,但执行程序必须是 64 位才能加载您的C++ dll。在您的项目设置中,检查您是否设置了"首选 32 位"标志并取消选中它 - 或者只是构建一个 64 位可执行文件。
相关文章:
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 发生此错误:在0x0F2BFB7C(基于.dll)时引发异常 尝试更改大小是问题吗?
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 链接库错误 c/缺少 dll/错误版本?
- Python - 从 c++ DLL 错误打印值
- C++ 动态加载 DLL 错误
- 生成 DLL 错误
- 从服务器下载DLL-不是有效的DLL(错误)
- Windows 8上的.exe文件中的MSVCR90.dll错误 - 应用程序无法正确启动(0xc000007b)
- Expat XML解析器(静态链接,DLL错误(缺少Define?)
- openCV_FFMPEG **.opencv 2.4.11中的dll错误,用于IP摄像机访问
- 如果实际导出"ordinal N not found in DLL"错误,可能导致什么原因?
- 为什么我得到的信息不可用,没有加载符号 d3d11.dll错误
- Visual Studio c++ MSVCR100.dll错误运行时
- dll错误:试图读取或写入受保护的内存
- 如何修复msvcp120 .dll错误Visual Studio 2015
- c#中无法加载64位dll错误
- Qt释放DLL错误
- 错误:无法加载dll.错误值193
- 启动 MinGW 编译的 exe 时缺少 libgcc_s_dw2-1.dll 错误