运行应用程序时出现BadImageFormatException
本文关键字:BadImageFormatException 应用程序 运行 | 更新日期: 2023-09-27 17:49:14
我得到一个BadImageFormatException当运行一个c#/VB SmartClient应用程序与Any CPU
配置。如果我使用x86
配置,那么它运行良好。这是一个老的遗留项目,我偶尔不得不修改,我不知道历史,所以我只能猜测有包含32位本机代码的dll导致此错误。这一切都是有意义的,除了当配置是Debug
&AnyCPU
运行,仅当配置为Release
&AnyCPU
失败了。我看Debug.cfg.xml和Release.cfg.xml文件没有明显的区别。
谁能说为什么它会在Debug
配置中运行?由于这工作,我想知道是否有可能让它在x64(即AnyCPU)中运行
从app.config:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
您的应用程序几乎肯定依赖于32位组件。当您将应用程序作为64位进程运行时,它无法将32位组件加载到您的进程中。
可能的解决方案包括:
- 恢复为32位运行
- 查找相关组件的64位版本
尝试将窗口或表单图标图像格式从。jpg更改为。png。有时在Windows服务器上,由于图标图像格式而发生此错误。