.Net core 2控制台appsettings转换

时间:2017-10-30 11:27:21

标签: appsettings .net-core-2.0

我正在尝试将appsettings转换添加到.net core 2控制台应用程序,例如。

  • appSettings.json
  • appSettings.Test.json
  • appSettings.Prod.json

我发现以下代码适用于asp.net核心:

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: 
true)
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: 
true)
        .AddEnvironmentVariables();
    Configuration = builder.Build();
}

但是,我不知道如何获取env.EnvironmentName,因为控制台应用中没有IHostingEnvironment

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

现在无法使用预处理程序指令找不到任何其他内容

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives/preprocessor-if

public Startup()
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: 
true)
#if RELEASE
        .AddJsonFile($"appsettings.Release.json", optional: 
true)
        .AddEnvironmentVariables();
    Configuration = builder.Build();
}