在新版 ASP.NET5 和 MVC6 中,有很多变化,有些是彻底的变化,比如在最底层支持依赖注入技术,为了方便了解,我们这里列出了最重要的 10 大变化,以便进行学习,具体如下:
ASP.NET 5 现在已经是跨平台了,可以在 Mac 和 Linux 上运行。
不再有 Web Forms 框架了。
只支持 C# ,不在支持 VB.NET 了。(貌似最近又听说最终版 VB.NET 又要支持了)
新的 Tag 语法, @Html.LabelFor 或 Html.TextBoxFor 替换成新语法 <label asp-for="Name"> 或 <input asp-for="Name" /> ,以便进行模型绑定。
新增视图组件( View Component ),可以将局部内容定义为一个单独的组件进行调用,和 Web Forms 里的 WebControl 非常像。
拥抱前端技术,内置了 Nodejs 、 NPM 、 Grunt 、 Bower 技术。
模型整合,将 MVC 和 WebAPI 整合成一个框架。
支持 AngularJS ,帮内置了 AngularJS 的 module 、 controller 、 directive 、以及 factory 模板。
支持依赖注入技术,拥有原生的 DI 框架,并且也支持第三方容器。
支持 xUnit.net ,并抛弃了 Visual Studio Unit Testing 框架。
ASP.NET 5 中的 MVC 、 Web API 、 Web Pages 三个框架会合并成一个框架,统称为 MVC6 。该合并工作将删除三个框架中重复的功能,比如 MVC 和 Web API 中的两种 Controller 只保留一种。但是传统 MVC 的功能都会保留,比如模型绑定。不过,据说 Web Pages 在 RTM 的时候不会发布,而是会在 RTM 之后的第一次更新中进行发布。
MVC6 会引入一些新功能,最引人注目的功能就是 Tag Helpers 和 View Components 。 Tag Helpers 是 Html Helpers 的一种替换,而 View Components 则引入里类似 Web Forms 中的 WebControl 的概念。
Visual Studio Enterprise 2015 RC安装
选中要安装的组件:
安装完成,进入初始页。
默认安装的 .NET Framework
团队资源管理器,提供对 VS Online 、 GitHub 、本地 Git 库的支持。
如何进行开发
对Windows开发
对web开发
ASP.NET 4.6模板
Web Forms
引用提示:
内置 AJAX 和 JQuery
MVC
Web API
ASP.NET 5模板
Empty
Web API
与 Empty 相比,
多了 Properties 目录, launchSettings.json
wwwroot 目录下多了 web.config 文件。
多了 Controllers 目录,并多了 ValuesController.cs 文件。
Web Site
一个一个来看。
Solution Items 目录:
global.json
用来对项目进行管理。
src 目录:
Properties 目录
用于进行一些配置信息的存取。
References
通过 project.json 中的 dependencies 进行管理。
Nuget 会自动下载相应的引用。
wwwroot
依赖项
Bower : bower 是 twitter 开源的一款 web 包(如 bootstrap 、 jquery )管理,依托 github 上越来越多的开源 web ( html+css+js )项目, bower 只需要 github 项目加一个配置文件就可以使用 bower 方式管理。 bower 提供了 web 包的添加、升级、删除、发布,以及管理包依赖,只需命令方式,即可轻松管理,再也不需要去手工下载拷贝文件了。
NPM:npm 是 Node.js 的模块依赖管理工具。作为开发者使用的工具,主要解决开发 Node.js 时会遇到的问题。如同 RubyGems 对于 Ruby 开发者和 Maven 对于 Java 开发者的重要性, npm 对与 Node.js 的开发者和社区的重要性不言而喻。现在已经移植到全宇宙最无敌的开发工具 Visual Studio 中了。
Compiler
Migrations
Models/Views/Controllers
bower.json:
面已经提到过,是对 Bower 的管理。
config.json:
上面也已经提到过,是对一些配置信息的管理。如:网站 title ,数据库连接字符串等。
gulpfile.js:
MessageServices.cs
Package.json
Startup.cs
对Web开发新特性的学习
Tag Helpers
对 Tag Helper 的应用,极大地方便了前端开发人员,因为可以看到正常的 HTML 结构。
wwwroot怎么用
Compiler怎么用
global.json怎么用
依赖项怎么用
Bower 和 Gulp 怎么用
Gulpfile.js 怎么用
参考:
https://github.com/gulpjs/gulp/blob/master/docs/API.md
config.json怎么用
project.json怎么用
MessageServices.cs怎么用
StartUp.cs怎么用
WebSite能实现跨平台吗?
能不运行在IIS上吗?
如何部署
AngularJS的支持
依赖注入
XUnitTest
对Android和IOS开发
对Python和JavaScript开发
对团队开发的支持
参考:
http://docs.asp.net/en/latest/getting-started/index.html