ASP.NET Core 介紹

我們可以透過 .NET Core 來開發出跨平台的應用程式。

在 ASP.NET Core 系列文中,

我們將一步步地來學習 ASP.NET Core。

就讓我們開始 ASP.NET Core 的學習之旅吧 ^_^.

一開始我們可以連到 https://www.microsoft.com/net/download/core ,

可以依平台(Windows/macOS/Linux)下載所需的SDK 及 開發工具。

當 SDK 安裝完成後,可以透過 dotnet 這個 command 來開始 .net core 之旅。

一、dotnet CLI 建立 console 應用程式

開啟 命令視窗,輸入

md helloworld

cd helloword

dotnet new

這時就會幫我們建立一個 console 的應用程式,裡面只有2個檔案(Program.cs 及 project.json),如下,

而 project.json 中的 Microsoft.NETCore.App 版本,則會對應到  C:\Program Files\dotnet\shared\Microsoft.NETCore.App 裡面,如下,

再來我們就可以下,dotnet restore 來裝需要的套件。

接著再執行 dotnet run 就可以編譯並執行程式,如下,

所以建立並執行一個 .net core 程式只需要 dotnet new, dotnet restore 及 dotnet run 。

以上是 console 程式,那如果我們要執行 Web 程式呢?

 

二、改成 Web 應用程式(透過 VS Code)

如果我們要改成 Web 應用程式的話,我們需要 web server 相關的套件。

在程式根目錄下,輸入 code . 

透過 VS Code 來開啟 project.json ,並在 netcoreapp1.0 的 dependencies 中加入 Kestrel 套件("Microsoft.AspNetCore.Server.Kestrel":"1.0.2"),並存檔。

註:如果您的VS Code 沒有出現幫您 Restore 套件,請手動執行 dotnet restore 哦!

切到 Program.cs 加入參考,調整成透過 kestrel web server 來執行,如下,

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;

namespace ConsoleApplication
{
    public class Startup{
        public void Configure(IApplicationBuilder app){
            app.Run(context => {
                    return context.Response.WriteAsync("Hello Asp.Net Core");
                }
            );
        }
    }
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseStartup<Startup>()
                .Build();
            host.Run();
        }
    }
}

這時,如果我們調整 Response 的內容,再重整網頁,並不會更新。

需要按 Ctrl + C 停止程式後,再執行 dotnet run 一次,才會更新。

可是一般不都是改好後,重整網頁就行了嗎? 

這時候就需要用到了 dotnet watch 了哦!

 

三、加入 DotNet.Watcher

切到 project.json ,加入 Microsoft.DotNet.Watcher.Tools ,如下,

"tools": {
    "Microsoft.DotNet.Watcher.Tools":{
      "version":"1.0.0-preview2-final",
      "imports":"portable-net451+win8"
    }
  }

註:因為我的 .net core 版本是用 1.0.1 ,如果您是用最新的版本,watcher 就可以使用 "version":"1.0.0-*",

詳細請參考: The mystery of dotnet watch and 'Microsoft.NETCore.App', version '1.1.0-preview1-001100-00' was not found

再執行 dotnet watch run ,它就會看程式有調整的話,就會立馬執行 Run 了哦!

剛才是從一個 console 程式 來改成 web 應用程式,

我們也可以在 dotnet new 時,指定要建立 web 專案,dotnet new -t web ,如下,

再下 dotnet restore, dotnet run 就會執行 Web 專案了哦!

未來 dotnet CLI 功能應該會持續增加,可以下 dotnet --help 來查看哦!

下一篇,我們將使用 Visual Studio 2015 來建立 ASP.NET Core ,

並說明 ASP.NET Core Middleware 哦!