如何在虚拟主机上部署ASPNET MVC2网站

本来网络上有很多类似的帖子,但是在我部署成功的过程中,依然摸索了很长时间,所以想写个文章来把我部署的过程记录分享一下,以便以后节省时间。

 

1、确定虚拟主机支持的NET版本,一般情况下,虚拟主机如果支持2.0,会同时支持3.5,而NET4.0的版本是需要特殊说明支持的。

2、我的虚拟主机不支持4.0,但是他可恶得给了我一个“更改Net版本”的菜单,于是我改成了4.0,之后就陷入了万劫不复的深渊,鄙视鄙视。咨询之后,发现不支持4.0版本,于是换为vs2008开发,BTW,发现2008里面 没有dynamic这个东西。

3、使用vs2008发布时,把“引用”里面的所有版本是3.5的dll的“复制到本地”属性都改为True。对于某些文章提到的这段“

老版本不能运行主要原因当然是因为缺失dll文件啦,其中最重要的是mvc核心库

前三个在C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 2中

System.Web.Mvc.dll

System.Web.Mvc.xml

Microsoft.Web.Mvc.Build.dll

下面2个是 3.5 sp1的动态链接库,去有sp1的电脑上复制下就可以了

System.Web.Routing.dll

System.Web.Abstractions.dll”,

我并没有去复制,只是把当前工程中现有的3.5的dll设置为发布时复制到本地。

4、然后在Global.asax中修改路由设置,如下:

//默认匹配
            routes.MapRoute("NoAction", "{controller}.aspx", new { controller = "home", action = "Default", id = "" });//无Action的匹配
            routes.MapRoute("NoID", "{controller}/{action}.aspx", new { controller = "home", action = "Default", id = "" });//无ID的匹配
            routes.MapRoute("Default", "{controller}/{action}/{id}.aspx", new { controller = "home", action = "Default", id = "" });//默认匹配
            routes.MapRoute("Root", "", new { controller = "home", action = "Default", id = "" });//根目录匹配

要注意的是,action中的Default 和 controller要修改成你自己的。

 


这样发布到虚拟主机上,就OK。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值