如何解决BadImageFormatException错误?

时间:2015-03-03 08:28:02

标签: oracle web-services c#-4.0 visual-studio-2012 iis-7

我正在使用我的计算机上安装的Visual Studio 2012和64位Oracle客户端(x64)。我已将Oracle.DataAccess dll添加到我的项目引用中并收到此警告: 正在构建“MSIL”的项目的处理器体系结构与参考“ProjectName,Version = 1.0.0.0,Culture = neutral,processorArchitecture = AMD64”,“AMD64”的处理器体系结构之间存在不匹配。这种不匹配可能会导致运行时故障。请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖具有与项目目标处理器体系结构相匹配的处理器体系结构的引用。

我的项目是一个WebService项目,配置设置是ANYCPU。当我运行项目并且webservice托管在localhost上时,错误页面显示为BadImageFormatException。我还尝试在x86和x64设置上运行该项目。

我该如何解决这个问题? IIS和IIS Express之间有什么区别吗?当我按下F5按钮并运行项目时,是否在IIS Express上运行localhost?

1 个答案:

答案 0 :(得分:0)

BadImageFormatException意味着您尝试将64位程序集加载到32位进程中。在vs 2012中,默认是启动32位IIS express,如此用户语音链接中所述:

https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3254745-allow-for-iis-express-64-bit-to-run-from-visual-st

您可以通过在IIS中托管并确保应用程序池为64位(这是默认设置)来解决此问题...或者获取VS 2013.我的建议是始终在IIS中运行以匹配您的生产环境。