VS2010/MVC2 项目迁移到 VS2013/MVC4 同时兼容vs2010也能打开

以下内容部分来至网上搜集,并加入了个人实际操作的经验补充


第1步、MVC2 => MVC3 

使用工具 ASP.NET MVC 3 Application Upgrader
http://aspnet.codeplex.com/releases/view/59008
这个工具要求VS2010的项目,sln文件头为:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010


如果不是以上头Format Version,可能会提示以下错误:

ERROR: There was an error loading the solution file
ERROR: Solution file  ****.sln has the wrong file format


如果不是VS2010的项目,修改一下项目sln文件即可,注意保存的时候文件格式为“UTF8+签名”的形式。


第2步、MVC3 => MVC4

使用工具 Auto Upgrade MVC 3 To MVC 4
https://www.nuget.org/packages/UpgradeMvc3ToMvc4
直接在NU控制台 Install-Package UpgradeMvc3ToMvc4
这个工具还提供源码:
https://github.com/NandipMakwana/UpgradeMvc3ToMvc4


升级到mvc3后,可以用vs2013打开项目了,但build不过,先在vs2013中的nuget 安装 UpgradeMvc3ToMvc4

 


如果安装不了的话,可以把项目的packages.config文件删掉,把packages里的相关文件先清掉,再安装


第3步、ASPX => Razor

这个可能必须要手动处理了,工具处理的结果不太完美,需要手动再处理一下。

工具 MVC ASPX to Razor View Converter
http://razorconverter.codeplex.com/
遇到两个情况的乱码,一是文件编码不是UTF8,二是meta设置的charset的是gbk。

其它参考:
http://markcoleman.tumblr.com/post/7886399187/step-by-step-on-how-to-upgrade-mvc2-to-mvc3-with-razor
这篇文章中提到了 https://github.com/telerik/razor-converter 这个小工具,时间有限就没再测试。


升级后的项目同时支持aspx和razor,这步不是必要处理的.

 

另外特别说明一下:
VS2010 的 MVC3 Razor 项目(ASPX的正常),直接用 VS2013 打开或升级到 VS2013,都不能识别 MVC 模式,找不到 ViewBag,也不能添加 View/Controller,而且 Views 下的 Web.config 中配置的一些 namespace 也找不到,必须升级成 MVC4 才正常。

 

转换后的很多cshtml文件编码被改成了UTF-8,要用“UTF-8 + BOM”重新保存一下才行,不然程序运行会出错,并显示乱码。



另外:

如果升级后的项目想要vs2010也能打开,需要修改.csproj文件的ProjectTypeGuids


可以和旧版本的对比下,用旧版本的替换调

例如我的只替换了第一个值 <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};


就可以用vs2010打开了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值