【问题标题】:System.BadImageFormatException: Could not load file or assembly [duplicate]System.BadImageFormatException:无法加载文件或程序集[重复]
【发布时间】:2011-07-10 21:38:09
【问题描述】:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe C:\_PRODUKCIJA\D
ebug\DynamicHtmlTool.exe
Microsoft (R) .NET Framework Installation utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Exception occurred while initializing the installation:
System.BadImageFormatException: Could not load file or assembly 'file:///C:\_PRO
DUKCIJA\Debug\DynamicHtmlTool.exe' or one of its dependencies. An attempt was ma
de to load a program with an incorrect format..

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

服务是 x86 编译的,即使两台计算机都是 x64 并且它可以在我的计算机上运行。在 win 2008 所在的服务器中,我收到此错误。

我尝试了谷歌的解决方案,但没有一个有效。

喜欢在这里写我有 x86 项目 http://www.davesquared.net/2008/12/systembadimageformatexception-on-64-bit.html

【问题讨论】:

  • 我做了一个干净的构建然后构建并且错误消失了

标签: c# 64-bit


【解决方案1】:

您似乎正在使用该工具的 64 位版本来安装 32 位/x86 架构的应用程序。在此处查找该工具的 32 位版本:

C:\Windows\Microsoft.NET\Framework\v4.0.30319

它应该可以很好地安装您的 32 位应用程序。

【讨论】:

  • 或在 Visual Studio(编译器设置)中将目标从“X86”更改为“任何 CPU”。
  • @TimSchmelter 我希望我能先在这里看到它。这就是我所做的并且它有效(在我的案例中将目标从任何 CPU 更改为匹配我引用的项目 - x64)。
  • 对我来说,我选择 x86 作为我的调试目标......两次(我责怪我的阅读障碍)
【解决方案2】:

尝试配置你的项目的设置,通常是由于x86/x64架构问题:

如图所示设置您的选择:

【讨论】:

  • 谢谢!这确实是我的项目的问题。
  • 谢谢,我什至在我的项目中都遇到过类似的问题
  • 这也是给我的。
  • @David 您是如何在下拉列表中获得“混合平台”的。我有 VS2013,我唯一的选择是“任何 CPU”、“x64”和“x86”。
  • Test>Test Settings> Default Processor Architecture > x64 为我工作。
【解决方案3】:

我找到了解决此问题的不同方法。显然,我的 IIS 7 默认没有在我的应用程序池中启用 32 位模式。

要启用 32 位模式,请打开 IIS 并选择您的应用程序池。我的被​​命名为“ASP.NET v4.0”。
右键单击,转到“高级设置”并更改名为: “启用 32 位应用程序”为真。

重新启动您的网络服务器,然后重试。

我从这个博客参考中找到了修复: http://darrell.mozingo.net/2009/01/17/running-iis-7-in-32-bit-mode/

此外,您可以更改 Visual Studio 上的设置。就我而言,我去了Tools > Options > Projects and Solutions > Web Projects 并检查了Use the 64 bit version of IIS Express for web sites and projects - 这是在 VS Pro 2015 上。除此之外没有其他修复它。

【讨论】:

  • 谢谢,这让我想起了如何解决类似的问题!
  • 你能把它贴在stackoverflow.com/questions/323140/… 上吗(但要清楚地说明它不是 installutil 案例,只是同样的例外)
  • 这是我的情况,非常感谢。
  • 这对我很有帮助。有时 VS/IIS 错误消息没有多大用处。
  • @Joseph 未启用,已模糊
【解决方案4】:

我使用正确的框架安装时遇到了同样的异常。

我的解决方案是以管理员身份运行 cmd .... 然后它运行良好。

【讨论】:

  • 奇怪,如果你有更多细节或理由,贴在stackoverflow.com/questions/323140/… 上没有害处(但除非有理由,否则我会投反对票,因为这对我没有意义:P)
  • 我从来没有说过我能解释为什么,因为我不能。我的点....可能已经表明了这样一个事实,它对我来说也没有任何意义。但根据使用任何微软的经验并不少见。
  • @RubenBartelink,如果 Woony 有解决方法,这对他有帮助,很高兴分享,即使他无法解释原因。这不是拒绝投票的理由,尤其是当有其他高票的答案时
  • 我投了赞成票只是为了补偿你的反对票。善待新用户。顺便说一句,重新启动通常会有所帮助,但我从未尝试在公寓楼周围跑过两次以上 :)。
  • 这有点老了......但在 Woony 的辩护中...... 9 个月后,这就是解决我的问题的方法。
【解决方案5】:

我的原因不同,我引用了一个网络服务,然后我收到了这条消息。

然后我将目标 .Net Framework 4.0 更改为 .Net Framework 2.0 并重新引用我的网络服务。几处改动后问题解决了。 没有错误工作正常。

希望这会有所帮助!

【讨论】:

  • 有哪些一些变化?
  • @MichaelFreidgeim 这对我来说是个老问题。但据我所知,当我更改框架时,生成的代理发生了更改,因此我进行了一些重构。这是我“一些更改”的意图。
猜你喜欢
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多