一、概况
近日,由于业务原因,重新布置原来的一个WCF网站时,在VS环境下测试一切正常的DLL文件,布置到网站后无法打开,无论怎样调整网页中均无法加载。在浏览器输入地址后刷新,一直报错:未能加载文件或程序集“XXXX”或它的某一个依赖项。试图加载格式不正确的程序。
二、分析
由于程序在开发环境下测试正常,代码本身应该是没有什么问题,因此判断问题是出在网站布署方面。但这个网站并不是新近建立的,而是一直在实际使用,原有环境设置也不应该有什么问题。于是仔细回想了一下本次调整中与原来环境有何不同。
在本次调整过程中,曾经做了一个比较大的修改,就是为了适应一部分动态库的兼容,把所有相关程序的目标平台由 ANY CPU 降低为 x86 ,判断问题应该是出在网站设置对程序的支持方面。
三、解决
打开Internet Information Services(IIS)管理器,在应用程序池中找到相应的网站设置项,选项 高级设置打开设置窗口,如图:
将 启用32位应用程序 的选择项设置为 True,单击确定按钮退出。重新启动网站后,打开浏览器发现网站显示已经全部正常。
四、总结
自从计算机软件推出了 64 位的操作系统,在大幅度提升了机器效率的同时,也遗留下来了大量的兼容性问题,在相关技术处理时要格外小心,切记!