作者 郭蕾 发布于 2014年5月16日
在5月12日的TechED大会上,微软首次向外界介绍了下一代ASP.NET框架——ASP.NET
vNext。ASP.NET vNext专门针对云环境和服务器环境进行了优化,并带来了“无编译”( no-compile
)开发体验以及依赖注入(Dependency Injection out of box)等令人兴奋的新特性。微软员工Scott Hanselman在其博客中对ASP.NET
vNext做了简单介绍。
首先使用ASP.NET
vNext,开发者可以为其应用部署单独的.NET框架,同一服务器上两个使用不同版本库的应用不会彼此影响,并且应用可以使用针对其云计算环境进行优化的CLR版本。开发以可以把应用依赖定制的CLR以及云优化的.NET框架构建为一个NuGet包。
开发者可以通过命令行工具来运行和管理ASP.NET
vNext应用。kvm命令可以帮助开发者操作和管理自己的应用环境,比如通过kvm
命令来查看可用的应用版本,通过
listkvm
命令设置当前生效的应用版本。
use version
ASP.NET
vNext将packages.config、NuGet
配置(nuspec)以及项目文件(csprojs)合并到统一的项目依赖配置文件project.json中。在输入类库或者NuGet包时,开发者可以看到完整的智能提示,并且NuGet包会被自动下载到开发环境中。
另外一个亮点是修改代码后,开发者无需编译重启即可查看修改后的结果,ASP.NET
vNext在保证吞吐能力的同时,还为开发者提供了Roslyn的“无编译执行”特性。“无编译”即可看到代码修改后的结果这一特性也极大程度提到了开发体验。
在部署构建Web应用时,开发者可以将其构建为NuGet包,这样在应用发布后,所有的应用都会被随之部署。ASP.NET
vNext是模块化的,开发者可以自由选择框架、 自由选择runtime、 自由选择操作系统、 自由选择文本编辑器。
ASP.NET
vNext以及Roslyn可以在Mac和Linux上的Mono 平台上运行。Mono是由Novell公司主持的项目,该项目的目标是创建一系列符合ECMA标准的.NET工具,包括C#编译器和通用语言架构。虽然Mono不是微软自己的项目,但是微软会和Mono团队合作以保证ASP.NET
vNext可以在Mono中正常运行。
正如Scott所言,ASP.NET
vNext是一个全新的框架,是一个与时俱进的框架。ASP.NET
vNext也将全部开源并同时支持Windows、Linux和Mac,就在前几天,微软将ASP.NET的多个项目放到了Github,是的,微软变了,我们期待一个更加开放的微软。