練習:從範本建立 ASP.NET Core Web 應用程式專案
在本練習中,您將會:
- 從範本建立 ASP.NET Core Web 應用程式專案。
- 檢查所建立專案的結構。
使用範本建立 ASP.NET Core Web 應用程式
在 Visual Studio Code 中建立新專案:
選取 [總管] 檢視:
選取 [建立 .NET 專案] 按鈕。 或者,您可以使用 Ctrl++,啟動 命令選擇區 ,接著輸入「
.NET」,然後尋找並選取 .NET: 新增專案 命令。
從清單中選取 [ASP.NET Core Empty] 專案範本。
在 [專案位置] 對話方塊中,建立名為
MyWebApp的資料夾,以包含專案。在命令選擇區中,將專案命名為
MyWebApp,包括符合大小寫。 使用此確切專案名稱很重要,以確保此指令中的程式碼命名空間符合您的名稱。從命令選擇區選取 [建立專案]。
檢查專案的結構
MyWebApp 專案資料夾內容會顯示在 Visual Studio Code [總管] 中:
從終端機或命令列建立新的專案:
變更為將包含專案的目錄 (
cd)。執行 .NET CLI 命令 ,以在名為
dotnet new的目錄中建立 ASP.NET Core Web 應用程式:dotnet new web -o MyWebApp新的 ASP.NET Core 空白 Web 專案會建立在名為 MyWebApp 的目錄中。
命令列語法概述如下:
開啟 MyWebApp 專案資料夾。
檢查專案的結構
MyWebApp 專案資料夾內容會顯示在 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!”