运行应用程序时出现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>

运行应用程序时出现BadImageFormatException

您的应用程序几乎肯定依赖于32位组件。当您将应用程序作为64位进程运行时,它无法将32位组件加载到您的进程中。

可能的解决方案包括:

  1. 恢复为32位运行
  2. 查找相关组件的64位版本

尝试将窗口或表单图标图像格式从。jpg更改为。png。有时在Windows服务器上,由于图标图像格式而发生此错误。