码迷,mamicode.com
首页 > 其他好文 > 详细

VS2015 VNext学习系列之三:CLR篇

时间:2014-12-13 17:55:11      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

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:

    bubuko.com,布布扣

1.5References文件夹

   在项目中:

   bubuko.com,布布扣

   可以通过project.json中依赖来选择:

   bubuko.com,布布扣

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));
            });
        }
    }
}

   此时运行网站程序结果:

   bubuko.com,布布扣

2.2安装NodaTime

    通过Nuget查找安装:

    bubuko.com,布布扣

    安装成功后:

    bubuko.com,布布扣

    疑问:两个.NetFramework版本里都有它了,会不会冲突???

2.3使用NodaTime

    把Startup.cs中 var serverTime = DateTime.Now;改为: var serverTime = NodaTime.SystemClock.Instance.Now;

    此时运行网站会出错,我们去修改project.json,把下面暂时注释掉(只保留完整的.NetFramework版本版本):

    bubuko.com,布布扣

   再运行网站结果:

   bubuko.com,布布扣

   注:和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修改为:

    bubuko.com,布布扣

    然后你可以选择哪个版本执行了,也就是项目“属性”来设置(如选择核心版,就是执行DateTime.Now时间):

    bubuko.com,布布扣

    其网站运行结果:

    bubuko.com,布布扣

2.5代码高亮

    bubuko.com,布布扣

    注:通过选择版本,可以使得代码在VS里着色高亮!

3.小结

   本篇希望大家明白.NetFramework版本选择和设置。下一篇将介绍Bower知识。

 

VS2015 VNext学习系列之三:CLR篇

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/givecase/p/4161609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!