未处理System.BadImageFormatException -- IIS处理使用c++编写的dll出错的处理方法

---恢复内容开始---

今天迁移早前的一个web程序的时候遇到如下的错误。

未处理System.BadImageFormatException
  HResult=-2147024885
  Message=试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)"

经过检查, 。netframwork,dll, 甚至文件位置都相同。 唯一的错误只可能出在他使用的一个c++写的dll上。

经过排查,原来那个c++的dll是32位, 而新的web程序池默认只使用64位。

解决方案:

1# IIS端

设置web程序的程序池 -- 高级设置 -- 启动32位应用程序

这样IIS就可以识别c++的dll了

 

2#, 因为本次是执行迁移, 在开发的时候, 需要设置将所有应用的dll都要编译位32位应用程序

 

且行且记录

 

posted @ 2019-01-23 10:53  潜川居士  阅读(508)  评论(0编辑  收藏  举报