如何在64位项目中引用32位DLL?

Jon*_*n D 15 .net c# c++ dll visual-studio-2008

我有一个C#2.0项目设置为"任何Cpu",但它引用的是一个构建32位dll的C++项目.

当我尝试在64位机器上运行我的程序时,我收到以下错误:

System.BadImageFormatException未处理消息:无法加载文件或程序集TreeTMHook, Version=1.0.2889.19619, Culture=neutral, PublicKeyToken=null 或其依赖项之一.尝试加载格式不正确的程序.

我怎样才能解决这个问题?

更新

我希望能够将主项目保持为任何cpu.

谢谢.

Bob*_*Bob 14

如果要在64位计算机上正确加载32位DLL,则需要将.NET项目构建为32位(x86目标).

RE:更新:

如果您希望将项目保持为"任何CPU",则需要32位和64位版本的DLL,并确保随应用程序分发相应的版本.如果无法将其他项目构建为64位,则必须将.NET项目构建为32位.