根据 .net Core 中的发布配置文件在 appsettings 中设置值

问题描述 投票:0回答:1

我正在使用.net core 6,我的appsettings.json看起来像这样

{
    "Logging": {
        "LogLevel": {
            "Default": "Debug",
            "System": "Information",
            "Microsoft": "Information"
        }
    },
  "Client_Version": {
    "Name_of_client": "Mordor",
    "Environment_of_client": "PROD"
  }
}

基于运行时的 Name_of_client 和 Environment_of_client,使用不同的 appsettins.json。在这种情况下,正在使用 appsettings.Mordor.PROD.json。

我希望当我使用像这样的mordor-prod.pubxml这样的发布配置文件时,这个appsettings.json被发布。

当使用像这样的mordor-stage.pubxml的发布配置文件来发布appsettings.json时:

  "Client_Version": {
    "Name_of_client": "Mordor",
    "Environment_of_client": "STAGE"
  }

在.net core 2.1中我使用web.config,里面有xdt:Transform并且工作正常。

c# visual-studio .net-core publish appsettings
1个回答
0
投票

仅使用 .NET 并不容易,IMO,我认为您需要其他工具。 但即使您无法更改 appsettings.XXX.json 文件,您也可以更改代码中的配置。如您所知,appsettings.XXX.json 文件(以及其他源,例如环境变量、用户机密以及可能的其他源)被放在

IConfiguration
实例内。从那里,您可以自由修改这些值。

© www.soinside.com 2019 - 2024. All rights reserved.