在IIS发布应用程序的时候,偶尔会莫名其妙的出现一些奇怪的错误,就比如今天在同一个电脑上编写的程序,在自己电脑上发布成功之后部署到客户的服务器上,然后后期因为某种原因,需要再次在自己的电脑上部署该程序,于是就出现了这么个奇怪的错误。试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
试图在网上查找相关的资料来解决问题,不过在网上对于该问题的普及度非常底,而且也没有很好的解决我的问题。然后自己摸索良久,怀着各种试试看的心态,终于解决了该问题,在此和大家一同分享。
这个是问题的截图,在网上搜索资料,大多是下面这些说法:
一般在下面三种情景下会发生.
1.64位系统上C#调用32位的C++ *.dll
2.64位系统上IIS发布含有32位的 *.dll应用程序时
3.64位系统上编写C++ *.dll,在64位系统上通过 C#调用 ,可能成功,也可能失败,失败就报BadImageFormatException 异常,也是最二的一种情况.是由该死的VS整出来的
因为问题得不得解决,于是,我就常识这根据异常中的提示到IIS服务器上进行相关的更改配置,如下图:
进入到对应程序的应用程序池,右键选择高级设置,将启用32位应用程序设置为true。至此,停止该程序,然后在重新启动该程序,就可以正常解决这个问题了。