首页 > 代码库 > VS2015 VNext学习系列之三:CLR篇
VS2015 VNext学习系列之三:CLR篇
1.概述
ASP.NET为了优化和云平台,甚至跨平台,DotNetFramework版本进行了重新设计,划分了多个版本,在应用程序中它们可以共存,你也可以单一使用某一个版本。
1.1完整的.NET CLR
它是在 VS创建项目的默认运行时。提供了整个 API 集,保持了向后兼容性。
1.2核心 CLR/云优化
它 是 ASP.NET 5 项目精简和完全模块化的运行时。通过重新分解为单独的组件运行时,可以提供改进的组件更多也很快为每个组件更新。
它大约 11 兆字节而不是完整的.NET CLR 大约 200 兆字节。核心 CLR 可以部署您的应用程序和不同版本的核心 CLR 可以共存运行。
1.3跨平台 CLR
微软未来还将发布一个跨平台运行时为 Linux 和 Mac OS X。此运行时将使您能够开发和运行.NET 应用程序在 Mac 和 Linux 的设备上。
1.4项目属性设置
右键项目:属性-》Application:
1.5References文件夹
在项目中:
可以通过project.json中依赖来选择:
2.实例演示
注:先把上一篇介绍中创建的“WebApp”项目“设为启动项目”。
2.1修改Startup.cs
打开WebApp项目,根目录下的Startup.cs,代码修改为:
using System;using Microsoft.AspNet.Builder;using Microsoft.AspNet.Http;namespace WebApp{ public class Startup { public void Configure(IApplicationBuilder app) { app.Run(async context => { context.Response.ContentType = "text/html"; context.Response.StatusCode = 200; var h1 = "<h1>Server Time</h1>"; var serverTime = DateTime.Now; await context.Response.WriteAsync(h1); await context.Response.WriteAsync(string.Format("Server Time {0}", serverTime)); }); } }}
此时运行网站程序结果:
2.2安装NodaTime
通过Nuget查找安装:
安装成功后:
疑问:两个.NetFramework版本里都有它了,会不会冲突???
2.3使用NodaTime
把Startup.cs中 var serverTime = DateTime.Now;改为: var serverTime = NodaTime.SystemClock.Instance.Now;
此时运行网站会出错,我们去修改project.json,把下面暂时注释掉(只保留完整的.NetFramework版本版本):
再运行网站结果:
注:和DateTime.Now获取的格式略有不同。
2.4条件选择执行
修改Startup.cs代码为:
using System;using Microsoft.AspNet.Builder;using Microsoft.AspNet.Http;namespace WebApp{ public class Startup { public void Configure(IApplicationBuilder app) { app.Run(async context => { context.Response.ContentType = "text/html"; context.Response.StatusCode = 200;#if ASPNET50 var h1 = "<h1>Server Time</h1>"; var serverTime = NodaTime.SystemClock.Instance.Now;#elif ASPNETCORE50 var h1 = "<h1>Server Time</h1>"; var serverTime = DateTime.Now;#endif await context.Response.WriteAsync(h1); await context.Response.WriteAsync(string.Format("Server Time {0}", serverTime)); }); } }}
再把project.json修改为:
然后你可以选择哪个版本执行了,也就是项目“属性”来设置(如选择核心版,就是执行DateTime.Now时间):
其网站运行结果:
2.5代码高亮
注:通过选择版本,可以使得代码在VS里着色高亮!
3.小结
本篇希望大家明白.NetFramework版本选择和设置。下一篇将介绍Bower知识。
VS2015 VNext学习系列之三:CLR篇