c# - .NET Core 控制台应用程序的 ASP.NET Core 配置

标签 c# .net-core configuration console-application

ASP.NET Core 支持新的配置系统,如下所示: https://docs.asp.net/en/latest/fundamentals/configuration.html

.NET Core 控制台应用程序是否也支持此模型?

如果不是之前的 app.configConfigurationManager 模型有什么不同?

最佳答案

对于 .NET Core 2.0 控制台应用程序,我执行了以下操作:

  1. 在项目的根目录下创建一个名为 appsettings.json 的新文件(文件名可以是任何名称)
  2. 将我的特定设置作为 json 添加到该文件。例如:
{
  "myKey1" :  "my test value 1", 
  "myKey2" :  "my test value 2", 
  "foo" :  "bar" 
}
  1. 配置在构建项目时将文件复制到输出目录(在 VS -> 解决方案资源管理器中 -> 右键单击​​文件 -> 选择“属性” -> 高级 -> 复制到输出目录 -> 选择“始终复制”)

  2. 在我的项目中安装以下 nuget 包:

    • Microsoft.Extensions.Configuration.Json
  3. 将以下内容添加到 Program.cs(或 Main() 所在的位置):

    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json");
    
        var configuration = builder.Build();
    
        // rest of code...
    }
    
  4. 然后使用以下任一方式读取值:

    string myKey1 = configuration["myKey1"];
    Console.WriteLine(myKey1);
    
    string foo = configuration.GetSection("foo").Value;
    Console.WriteLine(foo);
    

更多信息:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration#simple-configuration

关于c# - .NET Core 控制台应用程序的 ASP.NET Core 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38114761/

相关文章:

java - log4j2配置文件很困惑

c# - Moq 回调不适用于 3 参数方法

c# - 将派生类型传递给重构方法

c# - VS2010/C# 中的全局 "using"指令?

c# - 如何在 8*8 DataMatrix 中编码超过 3 个字符?

C# - 通过反射获取所有程序集及其类型

linux - 依赖System.Net.Http.WinHttpHandler的库能否部署到Linux

.net - 如何链接 .NET Core 独立部署?

java - 如何在 Apache 2.2 上实现 SSL

android - 存储静态配置数据