.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();
    }