System.BadImageFormatException:无法加载文件或程序集

时间:2011-03-08 06:54:01

标签: c# 64-bit

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

5 个答案:

答案 0 :(得分:246)

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

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

它应该安装你的32位应用程序。

答案 1 :(得分:120)

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

按照所示设置您的选择:

答案 2 :(得分:101)

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

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

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

我从这个博客参考中找到了修复: 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上。除此之外没有其他任何修复。

答案 3 :(得分:5)

我使用正确的框架安装了相同的异常。

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

答案 4 :(得分:3)

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

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

希望这有帮助!