Upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3 Tools Update

ASP.NET MVC 3 can be installed side by side with ASP.NET MVC 2 on the same computer, which gives you flexibility in choosing when to upgrade an ASP.NET MVC 2 application to ASP.NET MVC 3.
 ASP.NET MVC 3可以与ASP.NET
MVC 2同时安装在同一台电脑上,让你可以灵活地选择何时升级ASP.NET MVC 2应用程序到ASP.NET
MVC 3版本。

To manually upgrade an existing ASP.NET MVC 2 application to version 3, do the following:  若要手动升级版本,执行以下操作

  1. 在电脑上新建一个空的ASP.NET MVC 3项目。此项目包含一些升级所必须的文件。
  2. 从 下面的ASP.NET
    MVC 3 项目中的文件复制到您的 ASP.NET MVC 2 项目的相应位置中。你需要更改所有对jQuery library的引用去适应新的文件名( jQuery-1.5.1.js)
    • /Views/Web.config
    • /packages.config
    • /scripts/*.js
    • /Content/themes/*.*
  3. 复制空ASP.NET MVC 3项目的packages文件夹到你自己解决方案根目录里(.sln文件所在的目录)
  4. 复制MVC2 项目 \bin 下的所有文件 到packages文件夹。
  5. 如果你的ASP.NET MVC 2项目包含了其他区域,复制/Views/Web.config文件到所有区域的Views文件夹目录下
  6. 在ASP.NET MVC 2 Web项目中的Web.config 文件内,在全局范围内搜索并替换的ASP.NET MVC 的版本号。找到以下内容:
    System.Web.Mvc, Version=2.0.0.0

    Replace it with the following:  作如下修改

    System.Web.Mvc, Version=3.0.0.0
  7. 在应用程序的根目录下的Web.config文件中添加以下设定到 assemblies section
    <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" />
  8. 在解决方案资源管理器中删除(指向版本2的动态链接库的)对System.Web.Mvc的引用,然后添加一个对System.Web.Mvc(版本3)的引用
  9. Web.config中添加对System.Web.WebPages.dll 和 System.Web.Helpers.dll的引用。这些程序集位于下面的文件夹:
    • %ProgramFiles%\ Microsoft ASP.NET\ASP.NET MVC 3\Assemblies
    • %ProgramFiles%\ Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies
    1. MVC 2框架下编译的第三方库,在Web项目中的Web.config文件的configuration section下添加下面高亮的bindingRedirect 元素

      <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>
    2. <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> 
      </dependentAssembly>
      </assemblyBinding>
      </runtime>

  10. 编辑Web项目的  项目名.csproj  这个文件找到ProjectTypeGuids标记, 
    并将{F85E285D-A4E0-4152-9332-AB1D724D3325}替换成 {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  11. 对比MVC5 Web项目 下的.csproj  和MVC2 Web项目下的.csproj文件,将可能的不同都修改一下
  12. 修改改 Reference 的路径到 Packages
  13. 保存修改,再次右击项目,然后选择重载项目
  14. http://files.cnblogs.com/files/xdot/csprojDif.rar

vs2013 打开vs2010 找不到此项目类型所基于的应用程序 MVC2 升级 MVC5 不能加载Web项目的更多相关文章

  1. vs2013(vs2015) 打开vs2010 找不到此项目类型所基于的应用程序 MVC2 升级 MVC5 不能加载Web项目

    Upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3 Tools Update ASP.NET MVC 3 can be installed side ...

  2. 加载web项目时报的错误:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modul

    用eclipse开发的java项目不能加载到tomcat6.0服务器,原因是:jst.web的版本高了 <installed facet="jst.web" version= ...

  3. tomcat加载web项目报错:bad major version at offset=6

    分析原因是开发的web项目的java版本高于tomcat使用的java版本,比如我是在java1.6上开发的,但是tomcat使用的java运行环境是1.5,所以会报改错误. 转载博客如下:http: ...

  4. VS无法加载Web项目

    在VS中修改Web项目的服务器设置时无法加载改Web项目,提示如下图 原因:因为项目中的EbcBuy.Bll.Users.WebApi.csproj.user文件并没有加入到版本控制文件,所以讲项目还 ...

  5. tomcat启动加载web项目内存溢出

    通过tomcat命令启动tomcat的web项目时,根据项目大小,有可能会报以下两个错误. 在启动时没有错误,但是在访问时会报错: 1. java.lang.OutOfMemoryError: Jav ...

  6. VS2010 需要缺少的web组件才能加载该项目

    到的问题是解决方案中部分项目无法加载, 提示需要缺少的web组件才能加载该项目,是否通过WEB安装组件来网络安装, 点击确定以后就什么也没有了. 到微软网站去下载Microsoft Web Platf ...

  7. Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  8. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  9. java项目发布到linux服务器,tomcat正常启动但没加载项目

    问题描述: java项目发布到linux服务器,一切操作正确,linux命令启动tomcat后,查看日志启动tomcat正常,上传的war包已经解压成功,但是tomcat没加载项目. 解决方法: 1. ...

随机推荐

  1. 多线程映射工具——ThreadLocal

    ThreadLocal相当于一个Map<Thread, T>,各线程使用自己的线程对象Thread.currentThread()作为键存取数据,但ThreadLocal实际上是一个包装了 ...

  2. nodejs、npm、grunt——名词解释

    最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...

  3. 用php实现一个简单的链式操作

    最近在读<php核心技术与最佳实践>这本书,书中第一章提到用__call()方法可以实现一个简单的字符串链式操作,比如,下面这个过滤字符串然后再求长度的操作,一般要这么写: strlen( ...

  4. 跨域之URL

    在介绍怎么跨域之前,先来弄清楚一个概念:URL.以下内容摘自维基百科. 统一资源定位符(或称统一资源定位器/定位地址.URL地址等,英语:Uniform / Universal Resource Lo ...

  5. ASP.NET Core服务器综述

    原文地址:Servers overview for ASP.NET Core By Tom Dykstra, Steve Smith, Stephen Halter, and Chris Ross A ...

  6. Spring 实现数据库读写分离

    随着互联网的大型网站系统访问量的增高,数据库访问压力方面不断的显现而出,所以许多公司在数据库层面采用读写分离技术,也就是一个master,多个slave.master负责数据的实时更新或实时查询,而s ...

  7. 细谈Slick(6)- Projection:ProvenShape,强类型的Query结果类型

    在Slick官方文档中描述:连接后台数据库后,需要通过定义Projection,即def * 来进行具体库表列column的选择和排序.通过Projection我们可以选择库表中部分列.也可以增加一些 ...

  8. Mysql增加、删除和修改列属性和约束,和一些有用的查询语句

    最近在整理关于MySql的东西,把一些需要记录的东西写下来,以便以后查询和浏览,以下是一些操作技巧.添加表字段alter table` 表名称` add transactor varchar(10) ...

  9. Spring 4 + Quartz 2.2.1 Scheduler Integration Example

    In this post we will see how to schedule Jobs using Quartz Scheduler with Spring. Spring provides co ...

  10. 利用mysql查询总数据条数,再php处理数据转出数组,生成随机返回到页面,可以做成刷新页面,出现不同的内容

    create table hxfimported( pid int primary key auto_increment, pic ), pname ), price ,) ); insert int ...