練習:從範本建立 ASP.NET Core Web 應用程式專案

已完成

在本練習中,您將會:

  • 從範本建立 ASP.NET Core Web 應用程式專案。
  • 檢查所建立專案的結構。

使用範本建立 ASP.NET Core Web 應用程式

在 Visual Studio Code 中建立新專案:

  1. 選取 [總管] 檢視:

    選取 [總管] 檢視的螢幕擷取畫面。

  2. 選取 [建立 .NET 專案] 按鈕。 或者,您可以使用 Ctrl++,啟動 命令選擇區 ,接著輸入「.NET」,然後尋找並選取 .NET: 新增專案 命令。

    選取 [建立 .NET 專案] 的螢幕擷取畫面。

  3. 從清單中選取 [ASP.NET Core Empty] 專案範本。

  4. 在 [專案位置] 對話方塊中,建立名為 MyWebApp 的資料夾,以包含專案。

  5. 命令選擇區中,將專案命名為 MyWebApp,包括符合大小寫。 使用此確切專案名稱很重要,以確保此指令中的程式碼命名空間符合您的名稱。

  6. 命令選擇區選取 [建立專案]

檢查專案的結構

MyWebApp 專案資料夾內容會顯示在 Visual Studio Code [總管] 中:

Visual Studio Code [總管] 中專案檔案的螢幕擷取畫面。

從終端機或命令列建立新的專案:

  1. 變更為將包含專案的目錄 (cd)。

  2. 執行 .NET CLI 命令 ,以在名為 dotnet new 的目錄中建立 ASP.NET Core Web 應用程式:

    dotnet new web -o MyWebApp
    

    新的 ASP.NET Core 空白 Web 專案會建立在名為 MyWebApp 的目錄中。

    命令列語法概述如下:

    • dotnet new:.NET CLI 命令,可根據專案、解決方案、程式庫、設定和其他特殊檔案等範本來建立各種 .NET 開發成品。
    • web:用來建立 ASP.NET Core 空白 Web 專案的專案範本,不包含任何範例內容。 web.NET SDK 中提供的許多內建專案範本之一。
    • -o:輸出選項會指定新專案建立所在的目錄:
      • 如果目錄不存在,則 .NET CLI 會建立它。
      • 建立專案的目錄會作為預設專案名稱、命名空間和組件名稱 (已編譯輸出的名稱)。
      • 如果未使用輸出選項 -o <directory>,則會使用目前的目錄。
  3. 開啟 MyWebApp 專案資料夾。

檢查專案的結構

MyWebApp 專案資料夾內容會顯示在 Visual Studio Code [總管] 中:

Visual Studio Code [總管] 中專案檔案的螢幕擷取畫面。

下列各節包含空白 ASP.NET Core 專案的主要專案資料夾和檔案概觀:

MyWebApp.csproj 專案檔案

.csproj 專案檔案用來:

  • 設定如何建置專案
  • 指定要設為目標的 .NET 版本
  • 管理入專案相依性

.sln 方案檔

在 Visual Studio Code (使用 C# 開發套件延伸模組) 中建立或開啟 ASP.NET Core 專案時,它會建立 [專案名稱].sln 方案檔。 [專案名稱].sln 方案檔包含一或多個相關專案的資訊,包括組建資訊、設定,以及任何與一特定專案無關的雜項檔案。

obj 資料夾

obj 資料夾包含建置系統所使用的中繼檔案,包括從原始程式檔產生的已編譯物件檔案。 最終的組建輸出會放在建置流程期間建立的 bin 資料夾中。

Properties/launchSettings.json 檔案

Properties/launchSettings.json 檔案包含應用程式在開發期間啟動方式的設定資料。 這些設定包括 applicationUrl 屬性,指定應用程式所使用的根 URL,例如 https://localhost:{port},其中 {port} 是專案建立時指派的隨機本機連接埠號碼。

launchSettings.json 檔案包含下列設定:

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5218",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7140;http://localhost:5218",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Program.cs 檔案

Program.cs 檔案可作為 ASP.NET Core 應用程式的進入點,並具有數個主要用途,包括:

  • 主機設定:設定主機,包括設定網頁伺服器。
  • 服務註冊:將服務新增至應用程式功能,例如資料庫內容、記錄,以及特定架構的特製化服務。
  • 中介軟體管線設定:將應用程式的要求處理管線定義為一系列的中介軟體執行個體。
  • 環境設定:設定開發、暫存和生產環境特定的設定。

在您建立的新 ASP.NET Core 空白專案中,Program.cs 檔案包含以下最小程式碼:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

此檔案中的下列幾行程式碼會建立具有預先設定預設值的 WebApplicationBuilder,並建置應用程式:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet() 方法會直接定義處理 HTTP GET 要求的端點:

app.MapGet("/", () => "Hello World!");

app.MapGet("/"):定義 HTTP GET 要求的路由。 / 表示此路由會回應對應用程式根 URL 提出的要求。 例如,http://localhost:{port}/,其中 {port} 是專案建立時,在Properties/launchSettings.json 檔案中指派的隨機指派埠號碼。

() => "Hello World!":作為要求處理常式的 Lambda 運算式。 對根 URL 提出 GET 要求時,會執行此 Lambda 運算式,並傳回字串 “Hello World!”