我正在使用.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并且工作正常。
仅使用 .NET 并不容易,IMO,我认为您需要其他工具。 但即使您无法更改 appsettings.XXX.json 文件,您也可以更改代码中的配置。如您所知,appsettings.XXX.json 文件(以及其他源,例如环境变量、用户机密以及可能的其他源)被放在
IConfiguration
实例内。从那里,您可以自由修改这些值。