.net core 3.0 appsettings.json для каждой среды - PullRequest
1 голос
/ 05 ноября 2019

Я хочу прочитать в конкретной среде appsettings.json на основе ASPNETCORE_ENVIRONMENT.

Пример, который Microsoft приводит для startup.cs, выглядит следующим образом для ядра 3.0:

    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
            });
        }
    }

В предыдущих версиях код, добавленный для конкретной среды appsettings.json, я видел:

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

Как бы изменить стандартный пример Microsoft, чтобы включить это?

1 Ответ

1 голос
/ 05 ноября 2019

"специфичный для среды appsettings.json на основе ASPNETCORE_ENVIRONMENT" уже выполнен по соглашению вызовом CreateDefaultBuilder() в вашем файле Program.cs.

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.0#default-configuration

Так что вам больше ничего не нужно делать. Просто установите ASPNETCORE_ENVIRONMENT значение

...