> ## Content Index
> Fetch the complete content index at: https://blog.skitisu.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 解决C#在x64平台调用dll出现BadImageFormatException
- URL: https://blog.skitisu.com/csharp-x64-dll-badimageformatexception/
- Published: 2013-07-09T10:04:30.000Z
- Updated: 2013-07-09T10:04:30.000Z
- Author: SkiTiSu
- Tags: 探索, 编程, #Import 2026-10-21 14:41

[![解决C#在x64平台调用dll出现BadImageFormatException](https://blog.skitisu.com/legacy-assets/d9046dedb8aab101c210ef2e6c5fb8499d687948a5a9c6d8737685f411c3b33c.jpg)](https://blog.skitisu.com/legacy-assets/d9046dedb8aab101c210ef2e6c5fb8499d687948a5a9c6d8737685f411c3b33c.jpg)

受不了了,今天玩调用dll，死活出不来，一直显示BadImageFormatException，点击VS里面的帮助，一直忽视了第一条。。。其实解决很简单。。。

**如果您的应用程序使用了 32 位组件，请确保该应用程序始终采用 32 位应用程序的运行方式。**  
 **如果应用程序项目的“平台目标”属性设置为 AnyCPU，则编译后的应用程序在 64 位或 32 位模式中均可运行。 如果采用 64 位应用程序运行方式，则实时 (JIT) 编译器便会生成 64 位本机代码。 如果应用程序依赖于某个 32 位托管组件或非托管组件，则在 64 位模式中无法加载该组件。 若要纠正此问题，请将项目的“平台目标”属性设置为 x86，然后重新编译。**  

确保未使用利用其他 .NET Framework 版本创建的组件。  
如果使用 .NET Framework 1.0 或 .NET Framework 1.1 开发的应用程序或组件尝试加载使用 .NET Framework 2.0 SP1 或更高版本开发的程序集，或者使用 .NET Framework 2.0 SP1 或 .NET Framework 3.5 开发的应用程序尝试加载使用 .NET Framework 4 开发的程序集，便会引发此异常。 BadImageFormatException 异常可能会报告作为编译时错误，或在运行时可能会引发该异常。 有关示例，请参见 BadImageFormatException 类。

确保文件映像是有效的托管程序集或模块。  
当非托管动态链接库或可执行文件传递给 Load 方法进行加载时会引发此异常。