.net core 如何从appsettings.json为.net核心控制台应用程序设置环境变量?
我正在使用一个C#类,该类使用.net core 如何从appsettings.json为.net核心控制台应用程序设置环境变量?,.net-core,environment-variables,configuration-files,.net Core,Environment Variables,Configuration Files,我正在使用一个C#类,该类使用 Environment.GetEnvironmentVariable("setting") 我想制作另一个控制台程序(.net core 3.0),从appsettings.json读取设置并将其加载到环境变量中 static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurr
Environment.GetEnvironmentVariable("setting")
我想制作另一个控制台程序(.net core 3.0),从appsettings.json读取设置并将其加载到环境变量中
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
IConfiguration config = builder
.Build();
var businessLogic = new BusinessLogic(); // uses GetEnvironmentVariable to get configuration
}
在我的业务逻辑类中,环境变量没有正确回调。有什么问题吗
appsettings.json的格式如下:
{
"SETTING" : "setting value"
}
Environment.GetEnvironmentVariable(“设置”)
将始终尝试从环境变量而不是从加载的配置读取数据
您需要更改BusinessLogic
类以接受您构建的config
对象,并使用该对象访问设置。例如:
public class BusinessLogic
{
public BusinessLogic(IConfiguration config)
{
var value = config.GetValue<string>("SETTING");
}
}
公共类业务逻辑
{
公共业务逻辑(IConfiguration配置)
{
var value=config.GetValue(“设置”);
}
}
在本例中,value
将包含SETTING
的正确值,如果该值是在appsettings.json
中或使用环境变量最后设置的