编译或尝试在Windows 8 64位上运行我的应用程序时抛出"BadImageFormatException".我浏览过互联网,很多人都有同样的错误信息.但是,没有一种解决方案可以解决我的问题或情况.我正在使用Visual Studio 2012 Express.
错误信息
错误38无法加载文件或程序集'file:/// C:/ Projects/Windows Projects/Weld/Components/FileAttachments/FileAttachments/FileAttachments/bin/x86/Debug/FileAttaching.dll'或其依赖项之一.尝试加载格式不正确的程序.
我确实有一些C++ dll,大多数dll都在C#中.有些dll是在32位机器上编译的,我使用的是64位机器.
此错误BadImageFormatException
始终意味着您要么尝试将32位DLL加载到64位应用程序中,要么尝试将64位DLL加载到32位应用程序中.
有时,当您为AnyCPU编译时也会发生这种情况,因此如果DLL针对特定平台,您可能希望使您的项目定位到此特定平台.
在您当前的场景中,可能FileAttaching.dll
是64位DLL,因此我建议您检查是否在此项目上输出32位DLL或使用正确的32位版本.