繁体   English   中英

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作为对C#项目的引用时,它将生成AnyCPU C#dll。 我能够生成C#dll,但是当我启动应用程序时出现错误,

类型:System.BadImageFormatException,mscorlib,版本= 4.0.0.0,文化=中性,PublicKeyToken = xxxxxxxx消息:无法加载文件或程序集“ MyDLLName,版本= 1.0.0.0,文化=中性,PublicKeyToken =空”或其中之一依赖。 试图加载格式错误的程序。

由于C#dll无法获取C ++ dll。 那么,如何解决此错误?

您正在尝试从32位进程中加载​​64位库。 您的C#dll可以是AnyCPU,但是执行程序必须是64位才能加载C ++ dll。 在项目设置中,检查是否设置了“ prefer 32 bit”标志,然后取消选中它-或只是构建一个64位可执行文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM