.net core 如何在.NET核心控制台应用程序中存储环境变量?
根据,代码在运行之前需要在命令行中输入.net core 如何在.NET核心控制台应用程序中存储环境变量?,.net-core,environment-variables,.net Core,Environment Variables,根据,代码在运行之前需要在命令行中输入 setx-storageconnectionstring”“ 是否可以将此变量存储在.NET核心控制台应用程序中的某个位置?如果可能,代码将如何访问它?您可以使用以下语法通过命令提示符(cmd)、powershell设置环境: setx variable_name "value_to_store_as_a_string" 或者使用系统属性(右键单击此电脑,选择属性,然后单击高级系统设置)窗口并单击环境变量。。。按钮(您可以查看所有用户和系统环境并创建、编
setx-storageconnectionstring”“
是否可以将此变量存储在.NET核心控制台应用程序中的某个位置?如果可能,代码将如何访问它?您可以使用以下语法通过命令提示符(cmd)、powershell设置环境:
setx variable_name "value_to_store_as_a_string"
或者使用系统属性(右键单击此电脑,选择属性,然后单击高级系统设置)窗口并单击环境变量。。。按钮(您可以查看所有用户和系统环境并创建、编辑或删除它们)。
这些将在重启之间保持
或者回到您的问题,您可以使用配置文件,例如app.config(一个XML文件)或appsettings.json(一个json文件)。有几种方法可以访问它。
下面是一个示例appsettings.json文件:
2.
公共静态IConfigurationRoot配置;
静态void Main(字符串[]参数)
{
var configBuilder=new ConfigurationBuilder()
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
.AddJsonFile(“appsettings.json”);
Configuration=configBuilder.Build();
字符串myVariable=hostContext.Configuration.GetValue(“变量名称”);
}
static void Main(字符串[]args)
{
新主机生成器()
.ConfigureAppConfiguration((hostingContext,config)=>
{
config.SetBasePath(basePath:Directory.GetCurrentDirectory());
config.AddJsonFile(“appsettings.json”,可选:true);
config.AddEnvironmentVariables();
})
.ConfigureServices((主机上下文,服务)=>
{
字符串myVariable=hostContext.Configuration.GetValue(“变量名称”);
})
.RunConsoleAsync().Wait();
}
您可以从中阅读更多MS文档。您可以使用以下语法通过命令提示符(cmd)、powershell设置环境:
setx variable_name "value_to_store_as_a_string"
或者使用系统属性(右键单击此电脑,选择属性,然后单击高级系统设置)窗口并单击环境变量。。。按钮(您可以查看所有用户和系统环境并创建、编辑或删除它们)。
这些将在重启之间保持
或者回到您的问题,您可以使用配置文件,例如app.config(一个XML文件)或appsettings.json(一个json文件)。有几种方法可以访问它。
下面是一个示例appsettings.json文件:
2.
公共静态IConfigurationRoot配置;
静态void Main(字符串[]参数)
{
var configBuilder=new ConfigurationBuilder()
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
.AddJsonFile(“appsettings.json”);
Configuration=configBuilder.Build();
字符串myVariable=hostContext.Configuration.GetValue(“变量名称”);
}
static void Main(字符串[]args)
{
新主机生成器()
.ConfigureAppConfiguration((hostingContext,config)=>
{
config.SetBasePath(basePath:Directory.GetCurrentDirectory());
config.AddJsonFile(“appsettings.json”,可选:true);
config.AddEnvironmentVariables();
})
.ConfigureServices((主机上下文,服务)=>
{
字符串myVariable=hostContext.Configuration.GetValue(“变量名称”);
})
.RunConsoleAsync().Wait();
}
您可以在MS文档中阅读更多内容。您只需使用静态变量、注入变量、常量变量。。。环境变量的用途是用于以下几种情况中的一种或两种:值是机密的,您不希望将其编译到代码中,每个环境的值都会更改,可能更多您可以只使用静态、注入、常量变量。。。环境变量的用途是用于以下几种情况中的一种或两种:值是机密的,并且您不希望将其编译到代码中,每个环境的值都会发生变化,可能更多
var appSettings = ConfigurationManager.AppSettings;
string myVariable = appSettings["variable_name"];
public static IConfigurationRoot Configuration;
static void Main(string[] args)
{
var configBuilder = new ConfigurationBuilder()
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
Configuration = configBuilder.Build();
string myVariable = hostContext.Configuration.GetValue<string>("variable_name");
}
static void Main(string[] args)
{
new HostBuilder()
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.SetBasePath(basePath: Directory.GetCurrentDirectory());
config.AddJsonFile("appsettings.json", optional: true);
config.AddEnvironmentVariables();
})
.ConfigureServices((hostContext, services) =>
{
string myVariable = hostContext.Configuration.GetValue<string>("variable_name");
})
.RunConsoleAsync().Wait();
}