当我提供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。那么,如何解决此错误?
答案 0 :(得分:1)
您正在尝试从32位进程中加载64位库。您的C#dll可以是AnyCPU,但是执行程序必须是64位才能加载C ++ dll。在项目设置中,检查是否设置了“ prefer 32 bit”标志,然后取消选中它-或只是构建64位可执行文件。