首頁 > 後端開發 > C++ > 如何在 ASP.NET Core 中針對不同環境自動設定 appsettings.json?

如何在 ASP.NET Core 中針對不同環境自動設定 appsettings.json?

Mary-Kate Olsen
發布: 2025-01-09 08:31:42
原創
288 人瀏覽過

How to Automatically Configure appsettings.json for Different Environments in ASP.NET Core?

在 ASP.NET Core 中根據不同環境自動配置 appsettings.json

ASP.NET Core 應用程式開發中,常常需要為開發、測試和生產環境配置不同的設置,例如資料庫連接字串、Web API 位址等。

建立多個 appsettings.json 檔案

為處理這些不同的配置,您可以建立多個 appsettings.json 文件,例如 appsettings.Production.json、appsettings.Staging.json 和 appsettings.Development.json。每個文件包含其對應環境的特定設定。

Host.CreateDefaultBuilder 和自動設定

在 .NET Core 3.0 及更高版本中,您可以利用 Host.CreateDefaultBuilder 方法來自動選擇並載入適當的 appsettings.json 檔案。此方法透過根據以下優先順序自動建立 IConfiguration 物件來簡化配置過程:

  1. appsettings.json
  2. appsettings..json
  3. 應用金鑰(用於開發環境)
  4. 環境變數
  5. 命令列參數

設定環境變數

要指定要使用的特定環境 appsettings.json 文件,您需要將 ASPNETCORE_ENVIRONMENT 環境變數設定為與所需環境相符的值,例如「Development」、「Staging」或「Production」。

Host.CreateDefaultBuilder 的使用

以下是在啟動類別中實作 Host.CreateDefaultBuilder 的方法:

<code class="language-csharp">WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>();

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // ...
}</code>
登入後複製

此程式碼會自動將特定於環境的配置物件注入到您的 Startup 類別建構子中。

在不同的 IDE 和啟動設定中設定環境變數

根據您的 IDE,設定環境變數的方法有所不同:

  • Visual Studio: 專案 > 屬性 > 偵錯 > 環境變數
  • Visual Studio Code: 編輯 .vscode/launch.json > env
  • 啟動設定: 屬性/launchSettings.json > environmentVariables
  • dotnet CLI: 使用適合您作業系統的設定環境變數的語法

更多閱讀

以上是如何在 ASP.NET Core 中針對不同環境自動設定 appsettings.json?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板