按照 http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806 的步骤

第一步:修改web.config

注意,默认的MVC3网站会有两个web.config文件。一个在网站根目录,另一个在Views目录下。这两个都要改。

在web.config中查找下面每一行代码:

 System.Web.Mvc, Version=3.0.0.0
System.Web.WebPages, Version=1.0.0.0
System.Web.Helpers, Version=1.0.0.0
System.Web.WebPages.Razor, Version=1.0.0.0

然后替换为:

 System.Web.Mvc, Version=4.0.0.0
System.Web.WebPages, Version=2.0.0.0
System.Web.Helpers, Version=2.0.0.0
System.Web.WebPages.Razor, Version=2.0.0.0

第二步:在站点根目录下的web.config里,将webPages:Version的属性改成"2.0.0.0",并增加一个新节点PreserveLoginUrl,设置属性为"true":

<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="PreserveLoginUrl" value="true" />
</appSettings>

第三步:在VS的解决方案浏览器中,找到你的MVC网站,在引用(Reference)上点击右键,选择“管理NuGet包”(Manage NuGet Packages),在左边栏上选择"Updates\NuGet official package source"。(注:此处官方文档有误,不是Online分类里的)然后升级下面的组件:

ASP.NET MVC 4
(可选) jQuery, jQuery Validation and jQuery UI
(可选) Entity Framework
(可选) Modernizr

注:或直接删除项目中注:或直接删除项目中原有的 System.Web.Mvc 3.0.0.0、System.Web.WebPages 1.0.0.0,重新引用System.Web.Mvc 4.0.0.0、System.Web.WebPages 2.0.0.0

第四步:在解决方案管理器上右击MVC项目名称,选择“Unload Project”,然后再右击一次,选择"Edit ProjectName.csproj"。

第五步:在ProjectTypeGuids节点下查找{E53F8FEA-EAE0-44A6-8774-FFD645390401},替换为{E3E379DF-F4C6-4180-9B81-6769533ABE47}

第六步:保存更改,然后再次右击MVC项目名称,选择Reload Project。

第七步:如果你的项目引用了三方类库,并且这些类库是针对老版本的MVC编译的话,打开站点根目录下的web.config,在configuration section下增加下面3个bindingRedirect元素:

MVC3.0 项目升级到 MVC4.0的更多相关文章

  1. Nuget包CommonServiceLocator从1.0.3升级到2.0.4时MvvmLight的ViewModelLocator初始化SimpleIoc.Default格式不匹配问题

    原文:Nuget包CommonServiceLocator从1.0.3升级到2.0.4时MvvmLight的ViewModelLocator初始化SimpleIoc.Default格式不匹配问题 把旧 ...

  2. 从mysql8.0.15升级到8.0.16

    从mysql8.0.15升级到8.0.16 环境简介 操作系统:Centos 6.10 64位 目前版本:8.0.15 MySQL Community Server 二进制 目的:升级为8.0.16 ...

  3. 关于把.net 2.0的项目升级到.net4.0遇到的一些问题

    进入公司实习的的第一个项目又是是一个升级项目.这次升级的是一个c/s架构的项目. 大致介绍一下这个项目的结构客户端采用winform+devexpress商业控件开发的,数据库是用的oracle数据库 ...

  4. gradle2.0笔记——让项目升级到gradle2.0

    昨晚看到QQ群消息说gradle2.0发布了,今天去看了一下,确实是昨天发布的,为rc版本:Gradle 2.0-rc-2.于是决定试一下. gradle可以在官网上下载,地址如下:http://ww ...

  5. ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1

    一.前言  最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...

  6. Asp.NetCore3.1开源项目升级为.Net6.0

    概述 自从.Net6.0出来后,一直想之前开发的项目升级.Net6.0,有时想想毕竟中间还跨了个5.0版本,升级起来不知道坑大不大,最近抽时间对升级的方案做了些研究,然后将代码升级为.Net6.0.本 ...

  7. WangSql 3.0源码共享(WangSql 1.0重大升级到3.0)

    WangSql 1.0博文阅读: http://www.cnblogs.com/deeround/p/6204610.html 基于1.0做了以下重大改动: 1.多数据实现方式调整 2.使用EmitM ...

  8. 【Oracle】RAC 10.2.0.1升级10.2.0.5

    环境: OS:OEL5.6 RAC:10.2.0.1.0 相关环境变量: CRS_HOME /u01/app/oracle/product/10.2.0/db_1 ORACLE_HOME   /u01 ...

  9. 安装zabbix3.0以及升级到5.0过程

    关闭防火墙: systemctl stop firewalld.service systemctl disable firewalld.service 需要关闭 selinux,一定要关闭这个,开启s ...

随机推荐

  1. 《UML大战需求分析》阅读笔记04

    在学习了前面的几种UML图并不能满足所有情况的建模,如当流程图涉及到多种角色,并且通过对多种角色交互展开时,顺序图才是不二选择.顺序图就如同中文语法的说话语言相似,描述的是一种事件发生的顺序.顺序图分 ...

  2. angular 数据绑定

    1.ng-band 使用在index.html页面使用,该页面不要直接使用双花括号,否则网络延迟的时候页面会显示双花括号,由于通常只在index.html里导入angular.js,所以在其他模板页面 ...

  3. php数组合并&去重&恢复索引demo

    <?php $tmp = array('a','b','v'); $tmp_1 = array('a','s','asdf'); $res = array_merge($tmp,$tmp_1); ...

  4. wget

    Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到 本地服务器.如果我们使用虚拟主机,处理这样 ...

  5. Lua屏蔽对象方法和恢复的方法

    背景 对于OO思想实现的类, 对于某些场景需要屏蔽某些方法, 不让调用.过了这段场景, 就恢复这些类的方法, 可以调用. 例如: 工厂具有开工方法, 但是在晚上不允许开工, 所有在晚上这段时间, 见开 ...

  6. 利用jQuery来扩展一个瀑布流插件

      简单了解jQuery.fn.extend() jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). (截图来自jQuery文档) 为了更清晰 ...

  7. git-----------------git:如何让git识别我修改了文件夹名字和文件名字的大小写问题。

    修改每个项目里面的隐藏的.git文件里面的config文件.将箭头指的原本是true改成false.

  8. Java操作excel

    慕课网的好课程: http://www.imooc.com/learn/354

  9. font-family styles

    以下是几种常用字体的字形样式预览: 步骤阅读

  10. 1.3 第一个C#程序

    几乎没一门编程语言的第一个程序都叫“你好,世界”,所以先在visual studio 中创建一个Helloworld程序. 各部分的详细内容: Main方法是程序运行的起点,最重要的代码就写在Main ...