System.BadImageFormatException
2014-03-31 14:53
337 查看
问题解决!!! 无法启动服务.System.BadImageFormatException: 不是有效的 Win32 应用程序.
无法启动服务.System.BadImageFormatException: 不是有效的 Win32 应用程序.OK 看描红位置。。。使用64位系统的童鞋应该知道怎么回事了吧?
Visual Studio 64位应用程序编译
Visual Studio的编译选项 build下的platform有X64、Any CPU和x86。X86表示只能在32位环境下运行,X64表示只能在64位环境下运行,Any CPU表示你的程序集可以根据环境变化适应32位还是64位,但是如果你的程序集依赖于一个x86选项编译的程序集,哪么你的程序集只能选择X86进行编译,而不能选择Any CPU编译,如果使用Any CPU编译,运行就会出现如下的错误:Unhandled Exception: System.BadImageFormatException: Could not load file or asse
mbly 'SourceCode.HostClientAPI, Version=4.0.0.0, Culture=neutral, PublicKeyToken
=16a2c5aaaa1b130d' or one of its dependencies. An attempt was made to load a pro
gram with an incorrect format.
File name: 'SourceCode.HostClientAPI, Version=4.0.0.0, Culture=neutral, PublicKe
yToken=16a2c5aaaa1b130d'
原因是如果用Any CPU编译,那么在64位机器默认的运行就是64位的,通常这情况十assembly需要调用一个32的COM库,只要用x86编译,那么程序就是以32位的程序,依靠wow64来运行的,就可以在64位系统上运行。所以,如果assembly需要使用win32库的话,那么编译选项就不能使用默认的Any CPU就需要注意了。
如果你的程序集还有调用VC++编写的程序集,如果没有安装Microsoft Visual C++ 2005/2008/SP1 Redistributable Package (x86)更新包,还会出现类似的错误:
http://www.cnblogs.com/Qbit/archive/2011/11/04/2236187.html
相关文章推荐
- WCF部署时的异常错误“System.BadImageFormatException: 未能加载文件或程序集“GCGL_Service”或它的某一个依赖项。试图加载格式不正确的程序。”
- “System.BadImageFormatException”类型的未经处理的异常在 Castle.Windsor.dll 中发生 其他信息: 未能加载文件或程序集“Gis”或它的某一个依赖项。
- 异常:System.BadImageFormatException,未能加载正确的程序集XXX
- System.BadImageFormatException:
- windows 服务 安装时System.BadImageFormatException:格式无效
- 疑难杂记:System.BadImageFormatException
- System.BadImageFormatException: 试图加载格式不正确的程序
- : 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 ---> System.BadImageFormatException: 试图加载格式不正确的程序。
- 64bit中“System.BadImageFormatException: 未能加载文件或程序集”解决办法
- 关于异常的疑难解答:System.BadImageFormatException (32 位上编译的.net程序,在64位上跑的时候,经常碰到的问题)
- System.BadImageFormatException : 未能加载文件或程序集“Medici.PaymentRecover, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
- system.badimageformatexception 未能加载文件或程序集
- System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项。。
- (C#) System.BadImageFormatException: An attempt was made to load a program with an incorrect format.
- “System.BadImageFormatException”类型的未经处理的异常在 PixelToMap.exe 中发生 其他信息: 未能加载文件或程序集“SuperMap.Data, Ver
- .net应用程序安装部署时异常 Error 1001. 在初始化安装时发生异常 System.BadImageFormatException:未能加载文件或程序集 的解决办法【成功解决】
- System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
- 异常:System.BadImageFormatException,未能加载正确的程序集XXX
- 异常:System.BadImageFormatException,未能加载正确的程序集XXX
- Nunit 问题 System.BadImageFormatException