前言

本篇文章介绍如何快速建立一个ASP.NET Core应用程序,为自己留个纪录也希望能帮助到有需要的开发人员。

环境

建立一个ASP.NET Core应用程序,首先要从官网下载SDK来建置.NET Core开发环境。

  • .NET Core官网

  • 依照操作系统下载.NET Core SDK。

  • 安装.NET Core SDK

  • .NET Core SDK安装完毕后,开启命令提示字符。输入「dotnet」,系统正常响应.NET Core的相关讯息,即完成.NET Core开发环境的建置。

开发

  • 完成开发环境的建置后,就可以动手撰写ASP.NET Core应用程序。首先建立一个新的文件夹:「lab」。

  • 接着在lab文件夹里,加入一个档案:「project.json」。并且修改档案内容为下列json格式内容,用以设定ASP.NET Core应用程序的项目参数。

    {
    "version": "1.0.0-*",
    "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
    },
    "dependencies": {},
    "frameworks": {
    "netcoreapp1.0": {
    "dependencies": {
    "Microsoft.NETCore.App": {
    "type": "platform",
    "version": "1.0.0"
    },
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0"
    },
    "imports": "dnxcore50"
    }
    }
    }
  • 接着同样在lab文件夹里,加入一个档案:「Program.cs」。并且修改档案内容为下列C#程序代码内容,用以做为ASP.NET Core应用程序的范例程序。

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.Http; namespace aspnetcoreapp
    {
    public class Program
    {
    public static void Main(string[] args)
    {
    // Build
    var host = new WebHostBuilder() // 设定Host内容的File根路径
    .UseContentRoot(Directory.GetCurrentDirectory()) // 设定启动参数
    .UseStartup<Startup>() // 开启Kestrel聆听HTTP
    .UseKestrel() // 设定聆听的URL
    .UseUrls("http://localhost:5000") // 建立Host
    .Build(); // Run
    try
    {
    // 启动Host
    host.Start(); // 等待关闭
    Console.WriteLine("Application started. Press any key to shut down.");
    Console.ReadKey();
    }
    finally
    {
    // 关闭Host
    host.Dispose();
    }
    }
    } public class Startup
    {
    // Methods
    public void Configure(IApplicationBuilder app)
    {
    // 挂载自定义的Middleware
    app.UseMiddleware<HelloWorldMiddleware>();
    }
    } public class HelloWorldMiddleware
    {
    // Fields
    private readonly RequestDelegate _next; // Constructors
    public HelloWorldMiddleware(RequestDelegate next)
    {
    _next = next;
    } // Methods
    public Task Invoke(HttpContext context)
    {
    // Response
    context.Response.WriteAsync("Hello World!"); // return
    return Task.CompletedTask;
    }
    }
    }
  • 再来开启命令提示字符,进入到上述的lab文件夹后。输入「dotnet restore」,用以初始化ASP.NET Core应用程序。

  • 初始化ASP.NET Core应用程序后,接着输入「dotnet run」,用以编译并执行ASP.NET Core应用程序。

  • 开发工作进行完毕之后,开发人员就可以开启浏览器,输入URL:「http://localhost:5000」,就可以在浏览器上,看到应用程序回传的"Hello World!"。

参考

[ASP.NET Core] Getting Started的更多相关文章

  1. ASP.NET Core 之 Identity 入门(一)

    前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OW ...

  2. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  3. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

  4. ASP.NET Core MVC/WebAPi 模型绑定探索

    前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用 ...

  5. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  6. Asp.net Core中使用Session

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...

  7. ASP.NET Core 中文文档 第四章 MVC(3.8)视图中的依赖注入

    原文:Dependency injection into views 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) ASP.NET Core 支持在视图中使用 依赖 ...

  8. .NET跨平台之旅:将示例站点升级至 ASP.NET Core 1.1

    微软今天在 Connect(); // 2016 上发布了 .NET Core 1.1 ,ASP.NET Core 1.1 以及 Entity Framework Core 1.1.紧跟这次发布,我们 ...

  9. ASP.NET Core HTTP 管道中的那些事儿

    前言 马上2016年就要过去了,时间可是真快啊. 上次写完 Identity 系列之后,反响还不错,所以本来打算写一个 ASP.NET Core 中间件系列的,但是中间遇到了很多事情.首先是 NPOI ...

  10. ASP.NET Core 中间件之压缩、缓存

    前言 今天给大家介绍一下在 ASP.NET Core 日常开发中用的比较多的两个中间件,它们都是出自于微软的 ASP.NET 团队,他们分别是 Microsoft.AspNetCore.Respons ...

随机推荐

  1. 浅谈android中的目录结构

    之前在android游戏开发中就遇到本地数据存储的问题:一般情形之下就将动态数据写入SD中存储,在没有SD卡的手机上就需另作处理了;再有在开发android应用的过程中,总要去调试APP,安装时又想去 ...

  2. js实现继承的方式总结

    js实现继承的5种方式 以下 均为 ES5 的写法: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承 ...

  3. LINQ系列:Linq to Object联接操作符

    联接是指将一个数据源对象与另一个数据源对象进行关联或联合的操作.这两个数据源对象通过一个共同的值或属性进行关联. LINQ的联接操作符将包含可匹配(或相同)关键字的两个或多个数据源中的值进行匹配. L ...

  4. ExtJs4之Grid详细

    ExtJs博客前奏 由于这段时间事情比较杂乱,博客就主要以项目中例子来说明编写. ExtJs4中的Grid非常强大,有展示,选中,搜索,排序,编辑,拖拽等基本功能,这篇博客我就这几个功能做写累述. 1 ...

  5. OpenCASCADE Curve Length Calculation

    OpenCASCADE Curve Length Calculation eryar@163.com Abstract. The natural parametric equations of a c ...

  6. ASP.NET MVC中给所有的cshtml页面引用命名空间

    在web.config文件中加入:这样所有需要以下命名空间的页面就不需要再它页面中单独引用这些命名空间了 <system.web.webPages.razor> <host fact ...

  7. Rust初步(三):使用atom搭配racer进行rust编程

    在rust.cc社区中有一个关于rust编辑器的讨论(话说很多人要学一个新语言,都会立即考虑编辑器的问题,包括我在内),主要关注的是,智能提示(这个真的太重要了).大家讨论下来有几个选择 1. ecl ...

  8. 使用karma测试平时写的小demo(arguments为例)

    有人说前端自动化测试非常困难,我觉得确实如此.在项目中,我个人也不放心写的测试,还是要手动测试.但是我们平时写demo学习时,完全可以使用自动化测试. 传统demo 1,新建一个html 2,写入js ...

  9. Deffered.js的实现原理

    在艾伦的推荐下,看了一个日本人写的延时加载库,非常轻量,写的很棒.作为我的源码学习的第一编. 在认真看了两天之后,才看懂它的实现原理,我下面把通自己的理解,进行了精简.只程现原理,方便日后的回顾.&l ...

  10. 【记录】vmware fusion 7 windows 10 unidentified network

    今天在 vmware fusion 7 中,使用 windows 10 时,突然报出一个错误(忘记截图了),当时就要求强制重启系统,也没怎么在意,但是重启之后,发现 windows 10 居然不能联网 ...