.net 在Rider中将HostingEnvironment.EnvironmentName设置为Development

.net 在Rider中将HostingEnvironment.EnvironmentName设置为Development,.net,.net-core,rider,.net,.net Core,Rider,我的代码: public static async Task Main(string[] args) { var host = new HostBuilder() .ConfigureAppConfiguration( (hostContext, configApp) => { configApp.SetBasePath(Direc

我的代码:

    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\u environment=Development


在哪里可以配置它?

添加以下内容解决了这个问题,我在使用反编译的.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。

您是否有机会在文档中查看以下内容,但有一种方法可以直接从Rider使用设置环境变量。无需创建系统范围的环境变量即可在Rider中运行或调试项目。您可以快速轻松地在不同环境的多个配置文件之间切换。是的,我阅读了所有这些文档。这是误导。看到这个片段:,就是我用的那个。如果不先调用
ConfigureHostConfiguration
,它就无法工作,就我所知,这在本文档中没有提及。我理解你的意思。我知道这会很快让人困惑。很高兴你找到了解决问题的办法。快乐编码。