Windows服务器IIS部署MVC5网站出现 未能加载文件或程序集“System.Web.Mvc, Version=5.2.3.0” 的解决方法

闲来无事,想起自己以前做的一个ASP.NET MVC5的项目,刚好又有台服务器,就想把站点部署上去跑跑。

服务器:Windows Server 2012 R2 Datacenter   IIS8

但是最后部署上去发现老是报 未能加载文件或程序集“System.Web.Mvc,Version=5.2.3.0,publicKeyToken="31bf3856ad364e35”  的错误。

于是百度了很多解决方案:

有的说是因为项目引用的 System.Web.Mvc 版本和服务器中的版本或者Web.Config里面的版本不对应,检查了下,很遗憾,完全吻合,这个解决方案无效.....

有的说是因为项目中引用的 System.Web.Mvc 属性中没有将 “复制到本地” 设置为True,检查了下,很遗憾,都是True,这个解决方案无效....

有的说是因为服务器操作系统是64位的,但发布的程序引用了一些32位的ddl,出现了兼容性的问题,得把程序池里面的设置 “启用32位应用程序” 设置为True。尝试设置了下,很遗憾,依旧报错,这个解决方案无效....

试了这么多解决方案都不行,已经接近抓狂状态了。就快准备快放弃来的时候,突然灵光一闪:

站点物理路径改到站点根目录,不要指向到Views目录。

结果,居然可以了!!!

为了兼容,还是按照大多数的解决方案进行了别的设置,下面总结下:

  • 应用程序池配置成经典模式

  • 程序池高级设置——启用32位应用程序——设置为True

  • 站点物理路径设置为根目录,不要指向到Views目录

给自己记个笔记,也给大家一个参考。

你可能感兴趣的:(ASP.NET)