最近VS2012的RC出了相信很多冲动热血的开发者都已经安装了,但是旧有专案还是要维护其实可以叫客户出钱重写 ,像demo手上就有一些专案是ASP.NET MVC2的版本, VS2012 根本无法开启,用过VS2012 以后绝对是不会想回去VS2010 的,所以就动手来升级MVC2 专案到MVC3 吧。
应该不会有MVC 1的专案吧...MVC1的专案应该在改成VS2010的时候就痛过一次,如果你真的是MVC1的案子,我个人建议去提高维护约价钱吧
转成MVC3 后就需要.NET Framework 4.0 ,请特别注意这点。
我相信大家应该会很直接按确定....
确定一按马上送你转换的报表
哎呀呀MVC2 专案转不过来....
不过微软很好心的提供了连结,按下去可以看到升级MVC3 的教学
过demo 相信因为是洋文很多人不想看,所以在这里写出解决的流程(与官网的有点差异)如果你有这需求,就按图施工保证成功
先来确定一下的确是因为不相容所以开不起来
开启专案的Web.config (自行用其他的文字编辑器开)
将所有的
- System.Web.Mvc, Version=2.0.0.0
换成
- System.Web.Mvc, Version=3.0.0.0
再来开启专案档(本范例就是TaipeiHouse.csproj )
搜寻到
F85E285D-A4E0-4152-9332-AB1D724D3325
置换为
E53F8FEA-EAE0-44A6-8774-FFD645390401
然后对者方案档按滑鼠右键
选择【解决错误】
如果没跳出下图,请关闭Visual Studio 2012 后再开启。
好,我相信还是直接按【确定】
这次就不一样了,成功转换哩
成功转换只是你可以开而已,功能完全不正常,也不会编译的过.....路还远的勒
再次开启Web.config (这次就可以用VS2012 开了)
增加两个参考
- <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral,
- PublicKeyToken=31BF3856AD364E35" />
- <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral,
- PublicKeyToken=31BF3856AD364E35" />
再往下拉到最后置换掉runtime 内的玩意儿
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="System.Web.Mvc"
- publicKeyToken="31bf3856ad364e35"/>
- <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
再来请找到专案的System.Web.Mvc 参考
把它杀了
通常这会是MVC 2.0 的参考,所以需要删除,如果你的是MVC 3 那就可以省了删除的动作
然后再新增参考
依序为
- System.Web.WebPages
- System.Web.Helpers
- System.Web.Mvc
编译看看,这时候应该就完美了
- 如果还是无法开启您可以试试看是不是少装了ASP.NET MVC 3 Tools Update
- 记得多点一些页面和功能,确保没有功能死掉。
时间: 2024-08-31 11:03:34