Sever Error in '/' Application.Could not load file or assembly 'SresBase' or one of its dependencies.试图加载格式不正确的程序。安全
今天同事在部署网站时遇到了一个这样的错误,请我帮他看看。解决完后,我以为这个问题仍是比较常见的,因此记录在这里,供后来的读者方便地解决本身的相同或相似的问题。服务器
问题截图以下:(固然这是在IIS里面直接访问网站才会出现的“错误详情页”,若是是远程访问,出于保护安全的须要,您须要设置您的WebConfig中的<customErrors mode="Off"/>)架构
错误信息提示:“未能成功加载'SresBase'文件或程序集,或其相关依赖项”。通过检查网站目录下的Bin目录发现“SresBase.dll”是有的。网站
可是为何仍是报错呢?我想文件是有的,“file or assembly”,那必定是程序集未能加载成功。也就是说程序集加载失败。怎么本机能够运行可是程序集加载失败呢?spa
我立马想到了,我一再强调的一个问题:“服务器通常是64位的,生成你的项目时必须注意你的目标平台架构为:‘AnyCpu’”。因为这个dll是另一个同事单独写给咱们的,我让这位同事检查这个dll的“生成目标平台”——果真!生成目标平台上设置的是“X86”。3d
把目标平台设置成“AnyCpu”后,问题轻松解决了。项目(按Alt+Enter)属性中更改“目标平台”设置界面以下:blog
问题总结:说白了这就是个把只能在32位机上运行的程序集拿到64位机运行,出现的低级错误!若是您不当心也犯了这个错误,那么您能够看一下您的全部项目属性里面“目标平台”和您的部署网站的IIS环境是否相同的。或者为了不再有相似的麻烦,您能够将您平时全部项目的目标平台都设置成“Any Cpu”。ci