无法加载文件或程序集"xxx"或其依赖项之一.尝试加载格式不正确的程序

Pos*_*Guy 185 c#

我刚刚将Subversion的修订版检出到了一个新文件夹.打开解决方案,我在运行时得到这个:

无法加载文件或程序集"xxxx"或其依赖项之一.尝试加载格式不正确的程序.

这与我前一段时间检查过的代码相同.为什么现在这样做?我现在也在xxx项目的bin文件夹中看到Debug x86而不仅仅是Debug.什么是Debug x86,为什么我不像我以前在bin文件夹中那样只调试Debug?

Rob*_*ser 245

听起来像项目的一部分是为x86构建的,而其余部分是为任何CPU/x64构建的.这也是我的意思.你在运行x64(或者是...... IA64)吗?

检查项目属性并确保为"任何CPU"构建所有内容.如果你在Visual Studio中,你可以通过转到屏幕顶部工具栏上的"x86"或"Any CPU"菜单("Debug"/"Release"菜单旁边)来检查所有内容"配置管理器......"


小智 177

如果在64位服务器上运行IIS 7+中的站点时出现此错误,则可能具有32位的程序集,并且您的应用程序池将选项"启用32位应用程序"设置为False; 将此设置为true并重新启动站点以使其正常工作.

  • @ Mayhem50同样在这里.这取决于错误发生的位置.如果是通过Visual Studio和Cassini Web服务器,Fraser是对的.如果它出现在IIS7 +中,Nicks的回答可能是最有可能解决的问题. (5认同)

Mik*_*ill 40

尝试使用可怕的Business Objects 4 for .Net SDK 时出现此错误.

它们提供了五个BusinessObjects*.dll文件,但它们都是64位的.

要加载我的网页,我需要点击工具\选项,然后在VS2013中更改此设置:

在此输入图像描述


Muh*_*hir 31

inetmgr然后来到应用程序池 - >池的高级设置 - >将选项"启用32位应用程序"设置为true; 并重新启动IIS.再检查一遍.!


Ram*_*ine 7

在IIS上运行的应用程序上的BadImageFormatException(不是从VS运行,因为visual studio通过使用"任何CPU"的构建来修复问题)可能由以下原因引起:

该站点是一个x64的服务器,并且启用32位应用程序的应用程序池的默认设置为False.你有32位程序集

在Visual Studio的级别上,修复是:

  1. 将项目设置"目标CPU"更改为"ANYCPU"


dan*_*und 6

确保验证"首选32位"的设置.在我的情况下,Visual Studio 2012默认选中此设置.尝试使用外部DLL中的任何内容都失败,直到我取消选中"首选32位".

在此输入图像描述