MVC4 部署 could not load file or assembly system.web.http.webhost 或是其它文件出误
自从VS2010发布之后使用它来做开发的程序员越来越多,其中很多人使用了MVC来作为新的开发框架,但是在系统部署的时候我们也遇到诸多问题,因为目前大多数windows服务器采用的还是Windows Server 2003,所以我们就需要在服务器上安装.net framework 3.5 或4.0 之类的高版本来保证我们的系统运行。
接下来我们就来部署基于 .net framework 4.0 mvc 的应用系统,首先在服务器上安装.net framework 4.0,但是安装的时候常常遇到一个错误提示,那就是让我们安装microsoft 的Windows 图像组件(WIC),这个很简单,我们只要到microsoft的官方网站下载即可,安装好WIC后继续安装.net framework 4.0就ok了。
部署系统,很.net framework 2.0的应用部署一样,只是在最后选择asp.net版本的时候选择.net framework 4.0即可。
访问网站地址,常常会遇到一个错误,Could not load file or assembly 'System.Web.Mvc, Version=2.0.0.0, ...."
分析了下,原因是'System.Web.Mvc 2.0版是随VS2010发布,一般并位于C:/Program Files/Microsoft ASP.NET/ASP.NET MVC 2/Assemblies/System.Web.Mvc.dll ,所以我们使用的时候要在引用上做些处理工作。
最方便的就是把System.Web.Mv.dll 文件放在系统的bin目录下面,但是这样重新生成或者做svn同步的时候就不方便了,给个方法:
1. 可在项目中建一个文件夹用于存放引用第三方的.dll
2. 将system.web.mvc.dll 复制到该文件夹下
3. 将Web项目对此dll的引用更改为文件夹下的system.web.mvc.dll
4.设置的“复制本地”属性为TRUE的DLL。 这可以通过浏览到Web项目的References文件夹中中点击System.Web.Mvc拉起的属性,选择“属性”复制本地“和确保其设置为True。
这样每次发布或者重新生成的时候就不会漏掉这个动态库了。
问题解决,部署成功!