这似乎是标题中的重复问题,但让我澄清一下,我已经搜索并遵循不同的方法
基本上我必须将managed C++ dll
导入C#
项目。我咨询了一些教程,最后创建了一个managed C++ dll
。现在,在导入dll
时出现以下错误:
尝试加载格式不正确的程序
我找到了一些像this 这样的解决方案,但这些解决方案无法帮助我。在面对此错误之前,我必须先咨询this解决方案,然后再咨询this。
以下是我尝试导入dll
的屏幕截图:
设置:
代码:
有人请指导我在项目中导入dll
的正确方法。
答案 0 :(得分:0)
此C ++库适用于某些体系结构(x64或x86)。另一方面C#不是(任何CPU),这就是为什么这种错误--C#最有可能假设你有一个x64非托管库。您应该将C#项目中的体系结构限制为其中任何一个(x64或x86),因此在两个项目中它们都是相同的。
答案 1 :(得分:0)
您是否应该将文件复制为预构建步骤?在构建之前确保它位于正确的位置。我也会删除exit 0
,这是不需要的。
DllImport
通常用于本机C风格的API,而不是托管和C ++ / CLI程序集。这些.Net程序集,无论是否为混合模式,都可以添加到通常的程序集依赖项位置中。
如果这是“托管C ++”而不是“C ++ / CLI”程序集,它也可能与目标.Net框架不兼容。