ASP.NET从MVC5升级到MVC6 总目录

ASP.NET Core

首先,ASP原本只是一种技术,这种技术从上个世纪90年代就有了。
Active Service Page 和 Java Service Page 是相同的概念。
古老的WebForm技术,其实是正统的ASP.NET技术。刚开始的时候,代码和HTML都是写在一起的。同一个文件里面上半部分是C#代码,下半部分是HTML代码。
随着时间的推移,CodeBehind技术将前台代码和后台代码分离开来了。那个时候流行使用 IsPostBack来判断是Get还是Post。
接下来的历史,就是MVC1-MVC5。整个前后端更加独立了。MVC各司其职,和谐相处。关于MVC的文章,网络上已经不胜枚举了。这里也无需炒冷饭了。

ASP.NET项目一般是指 使用 ASP.NET的MVC框架和EntityFramework这个 ORM的项目。当然,EF只是操作SQL的一种方式。只是这样的搭配多了,所以MVC+EF变成了一种套餐。

改名

ASP.NET 5是ASP.NET Core的曾用名。
关于这个5 的解释,请参看一下这篇文章:

解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介

5也是.NET framework的新版本的版本号,称之为Core50,也叫.NET Core。.NET Core是.NET的重构版本,只保留原有框架中的最小化的功能集,对于其它的特性和功能,可以通过nuget下载以插件的形式运行。这就意味着,我们可以将其用于各种云环境进行独立部署。另外,微软还会提供一个跨平台的.NET Core,以便可以让ASP.NET程序部署到Mac和Unix/Liunx服务器上。另外.NET Core框架还可以和程序一起进行打包部署,从而可以实现在同一台服务器上使用不同版本的.NET Core。

当然,计划没有变化快,或许是为了和过去进行一个割裂,微软又将名字改为了Asp.NET Core

ASP.NET 5 改名 ASP.NET Core 1.0

今天,Scott Hanselman在其博客上宣布《ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0》,ASP.NET 5已经被判死刑,Scott在其中也解释了改名的根本原因:之前称之为“ASP.NET 5”确实让人感觉这是ASP.NET 4.6的升级版,比其功能更加强大,未来会替代ASP.NET 4.6。其实不是的,因为“ASP.NET 5”是另起炉灶开发,和 ASP.NET 4.6是并行独立的关系。

所在现在的名字变动如下:

ASP.NET 5 –> ASP.NET Core 1.0
.NET Core 5 –> .NET Core 1.0
Entity Framework 7 –> Entity Framework Core 1.0
这样的重命名可以让人(特别是.NET 圈子之外的人)马上了解到这个技术栈是微软在Web开发领域的一个“重新出发”,他们之间的关系以及和之前技术的关系如下图所示:

和给小孩子命名一样,给产品命名也是一门学问。

关于.NET Core, .NET Framework , MONO之间的关系,请参考
补充知识 .Net Framework .Net Core Mono 区别联系

RoadMap

这个框架已经出来1年多了,按照RoadMap,下个月就应该出正式版了。
微软的东西,其实蛮善变的,所以在稳定之前,最好简单了解一下即可。
当然可以看一下大神们的尝鲜测评和系列文章。
在正式版Release之前的1个月开始,才系统学习也是完全来得及的。

Milestone Release week
Beta8 15 Oct 2015
RC1 Nov 2015
RC2 (Tools Preview 1) mid-May 2016
1.0.0 (Tools Preview 2) late-June 2016

术语

DNX:.NET Execution Environment,即.NET运行时环境,在Windows,Mac和Linux下运行.NET应用程序的环境(有点目前windows环境下的.NET Framework的意思),当然这东西是跨平台的,这是跟.NET Framework最大的不同之处。
DNVM:NX Version Manager,即DNX的版本管理工具,利用DNVM可以管理DNX的不同版本,你可以轻松切换到不同的DNX版本中。
.NET Core:可以理解为一个经过精简的、模块化的.NET Framework子集,目的是为了跨平台。.NET Core有一系列的类库组成,叫做"CoreFX",一个更精简的版本叫做"CoreCLR"。

环境准备

MVC5的开发环境,最简单的是VisualStudio2015 Update2。MVC6的开发环境可以是VisualCode,也可以是VisualStudio,不过安装.Net Core是必须的。安装过程请参考下面这篇文章:

.NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序

VisualCode 1.1.1

如何使用VisualCode

  1. 下载和安装VisualCode
    Visual Code 官网

  2. 下载一个MVC6的示例
    MVC6 Sample

  3. 使用VisualCode打开MVC项目目录。(打开目录的功能,VS15,注意,不是VS2015,也有这个功能了)

  4. 安装C#扩展。
    安装第一个出现的C#扩展即可(OmniSharp)。安装完成之后重启一下VisualCode
    如何安装扩展

  5. Restore Core Package
  • 可以直接在VisualCode 里面,使用F1窗体,进行 dotnet restore
  • 或者按照 VisualCode 的提示进行Restore(稍等一会儿,就会出现提示你Restore的置顶信息栏)
  • 这个过程非常可能慢,如果使用myget.org的Nuget的话。(2016/05/18 这个时间点还是无法Restore成功)

安装之后如果控制台有什么错误信息,可以通过下面的网址解决问题
VisualCode 常见问题

VisualStudio2015

选择 .NET Core 里面的WebApplication即可。Restore暂时没有问题。

可以运行成功

学习资源

本系列追求的是每一个知识点都力求讲解透彻,不会盲目追求文章的长度。每周至少更新一篇文章。
如果你只是想尝试Asp.NET Core,不喜欢卡顿的VisualStudio,你完全可以使用Visual Code来学习。

Github源代码
Artech的博客

参考文献

ASP.NET Core 1.0 Schedule and Roadmap

(0)ASP.NET Core 简单介绍 和开发环境搭建 - ASP.NET从MVC5升级到MVC6的更多相关文章

  1. Eclipse rap 富客户端开发总结(1) :rap简单介绍和开发环境搭建

    一.rap简单介绍 1 基本概念     RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将 ...

  2. Asp.net core 简单介绍

    Asp.net core 是一个开源和跨平台的框架,用于构建如WEB应用,物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序.asp.net core 应用可运行.net和.net ...

  3. ASP.NET Core 优雅的在开发环境保存机密(User Secrets)

    前言 在应用程序开发的过程中,有的时候需要在代码中保存一些机密的信息,比如加密密钥,字符串,或者是用户名密码等.通常的做法是保存到一个配置文件中,在以前我们会把他保存到web.config中,但是在A ...

  4. 1. React介绍 React开发环境搭建 React第一个程序

    什么是 React         React 是 Facebook 发布的 JavaScript 库,以其高性能和独特的设计理念受到了广泛关注. React的开发背景         Faceboo ...

  5. .Net Core + Angular Cli / Angular4 开发环境搭建

    一.基础环境配置 1.安装VS 2017 v15.3或以上版本 2.安装VS Code最新版本 3.安装Node.js v6.9以上版本 4.重置全局npm源,修正为 淘宝的 NPM 镜像: npm  ...

  6. .Net Core+Angular Cli/Angular4开发环境搭建教程

    一.基础环境配置1.安装VS2017v15.3或以上版本2.安装VSCode最新版本3.安装Node.jsv6.9以上版本4.重置全局npm源,修正为淘宝的NPM镜像:npminstall-gcnpm ...

  7. Python简单介绍以及Python环境搭建(入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6400694.html 本文出自:[Edwin博客园] Python 简单介绍 适合领域: Web网站和各种网 ...

  8. 一、Linux 设备驱动介绍及开发环境搭建

    1.1 Linux 设备驱动介绍 1.1.1 分类及特点 计算机系统的硬件主要由 CPU.存储器和外设组成. 当前 CPU 内部都集成有存储器和外设适配器. 外设适配器有入 UART.IIC 控制器. ...

  9. 最简单的PHP开发环境搭建

    近期发现一个非常easy的,适合刚開始学习的人的PHP开发环境,整个环境仅仅有三样东东,PHP ,APACHE , MYSQL可是对于初学PHP的人来说,己经足够了. 假设有兴趣的话能够直接去百度PN ...

随机推荐

  1. javascript 判断参数类型大全

    js 判断类型的在开发中是很常用的,因为js 是弱类型的语言,var 可以接受任何形式的类型,但是在真正的开发中,我们需要根据不同类型做不同的处理,所以这个是必须的精通. 首先需要知道 typeof这 ...

  2. Oracle数据库该如何着手优化一个SQL

    这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...

  3. mysql删除重复记录语句的方法

    例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name ...

  4. 【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET

    上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不 ...

  5. Java泛型的历史

    为什么Java泛型会有当前的缺陷? 之前的章节里已经说明了Java泛型擦除会导致的问题,C++和C#的泛型都是在运行时存在的,难道Java天然不支持“真正的泛型”吗? 事实上,在Java1.5在200 ...

  6. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  7. CSharpGL(37)创建和使用VBO的最佳方式

    CSharpGL(37)创建和使用VBO的最佳方式 开始 近日在OpenGL红宝书上看到这样的讲解. 其核心意思是,在创建VBO时用 glBufferData(GL_ARRAY_BUFFER, len ...

  8. .NET 基础 一步步 一幕幕[数组、集合、异常捕获]

    数组.集合.异常捕获 数组: 一次性存储多个相同类型的变量. 一维数组: 语法: 数组类型[] 数组名=new 数组类型[数组长度]; 声明数组的语法: A.数据类型 [] 数组名称= new 数据类 ...

  9. 如何使用yum 下载 一个 package ?如何使用 yum install package 但是保留 rpm 格式的 package ? 或者又 如何通过yum 中已经安装的package 导出它,即yum导出rpm?

    注意 RHEL5 和 RHEL6 的不同 How to use yum to download a package without installing it Solution Verified - ...

  10. iOS---正确使用NSNotification对象

    我们在开发程序的时候,程序内不同对象间的通信是不可避免的,iOS中主要有以下这些通信方式: iOS中的通信方式 图中按照耦合度的强弱和通信的形式(一对一还是一对多)进行了划分,这篇文章我们主要说一下N ...