【问题标题】:Setting HostingEnvironment.EnvironmentName to Development in Rider在 Rider 中将 HostingEnvironment.EnvironmentName 设置为 Development
【发布时间】:2019-08-04 14:30:26
【问题描述】:

我的代码:

    public static async Task Main(string[] args)
    {
        var host = new HostBuilder()
            .ConfigureAppConfiguration(
                (hostContext, configApp) =>
                {
                    configApp.SetBasePath(Directory.GetCurrentDirectory());
                    configApp.AddJsonFile("appsettings.json");
                    configApp.AddJsonFile(
                        $"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json",
                        optional: true);
                })
            .Build();

        await host.RunAsync();
    }

在运行时我看到HostingEnvironment.EnvironmentName 的值是Production

我尝试在运行配置中设置以下环境变量,但它并没有改变运行时:ASPNETCORE_ENVIRONMENT=Development

在哪里可以配置?

【问题讨论】:

标签: .net .net-core rider


【解决方案1】:

添加以下解决了这个问题,我在使用反编译的 .NET 源代码调试后发现它。它似乎没有记录在任何地方,或者我遗漏了一些东西。

    public static async Task Main(string[] args)
    {
        var host = new HostBuilder()
            .ConfigureHostConfiguration(configHost => configHost.AddEnvironmentVariables())
            .ConfigureAppConfiguration(
                (hostContext, configApp) =>
                {
                    configApp.SetBasePath(Directory.GetCurrentDirectory());
                    configApp.AddJsonFile("appsettings.json");
                    configApp.AddJsonFile(
                        $"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json",
                        optional: true);
                })
            .Build();

        await host.RunAsync();
    }

添加的行是ConfigureHostConfiguration call。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多