运行带有Any CPU
配置的C#/ VB SmartClient应用程序时,我得到 BadImageFormatException 。如果我使用x86
配置,那么它运行正常。这是一个旧的遗留项目,我偶尔需要修改,我不知道历史,所以我只能猜测有些dll包含32位本机代码导致此错误。这一切都是有意义的,除了配置是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>
答案 0 :(得分:1)
您的应用程序几乎肯定取决于32位组件。当您将应用程序作为64位进程运行时,它无法将该32位组件加载到您的进程中。
可能的解决方案包括:
答案 1 :(得分:0)
尝试将窗口或表单图标图像格式从.jpg更改为.png。有时在Windows服务器上由于图标图像格式发生此错误。