哈囉大家好!
今天要延續昨天的內容,把剩下的資料夾和檔案介紹完~
先附上web API project的架構:
- myExampleApi/
    ├── bin/
    ├── obj/
    ├── Properties/
    ├── appsettings.Development.json
    ├── appsettings.json
    ├── myExampleApi.csproj
    ├── myExampleApi.sln
    ├── Program.cs
昨天簡單介紹完bin和obj後,接下來要介紹的是Properties!
專案的屬性相關設定會存放在這個資料夾中,可以在資料夾裡面發現預設的launchSettings.json檔。會在launchSettings.json檔中進行「開發時啟動專案方式」的設定。
偷看一下launchSettings.json的預設內容:
{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5232",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7105;http://localhost:5232",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}
和launchSettings.json檔名稱長得很像,顧名思義也就是「專案的設定檔」,通常會在者裡設定資料庫的連線字串、API KEY、 Log設定、Token設定...等。
和appsettings.json僅差了一個字"Development"!這個檔案是「環境專屬的設定檔」,只會在Development的環境中生效。
所以測試時使用的設定都可以寫在這裡,ASP.NET Core會根據ASPNETCORE_ENVIRONMET(可以在launchSettings.json檔中找到!)的值來載入對應的檔案,Development會載入appsettings.Development.json,Production則會載入appsettings.Production.json。
若同時在appsettings.json和appsettings.Development.json都進行設定,會以appsettings.Development.json的設定為優先,覆蓋appsettings.json的設定~
這個檔案的內容比較特別,是XML格式,也是C#的專案檔,用來定義專案的目標框架、需要的套件、編譯選項...等。
下方是Web API專案的預設格式:
<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net9.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
</Project>
這個是solution方案檔!用來組織一或多個專案,是純文字檔。通常不會編輯這個檔案,當我們新增或刪除關聯專案,或是更改設定時,IDE會根據編輯內容來更新solution檔。
這個檔案是整個專案的進入點,主要負責的功能有:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
今天把Web API的架構簡單認識後,明天就要來寫寫看扣了!
感覺更新時間越來越晚了,要好好督促自己
那就明天見 掰掰~