Как получить DotNet Core ApplicationName, установленный переменной среды - PullRequest
0 голосов
/ 18 октября 2018

Согласно документации .NET Core , я должен иметь возможность задавать имя приложения с помощью переменной среды.

Переменная среды: ASPNETCORE_APPLICATIONKEY

Я не вижу, чтобы это было так.Я добавил параметр WebHostDefaults.ApplicationKey в Program.cs, но все еще не могу переопределить его с помощью переменной среды.

    private static IWebHost BuildWebHost(string[] args)
    {
        var config = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("hosting.json", true)
            .AddEnvironmentVariables("ASPNETCORE_")
            .AddCommandLine(args)
            .Build();

        return WebHost.CreateDefaultBuilder(args)
            .ConfigureLogging((context, builder) => { builder.ClearProviders(); })
            .UseConfiguration(config)
            .PreferHostingUrls(true)
            .UseStartup<Startup>()
            .UseSetting(WebHostDefaults.ApplicationKey, "CustomApplicationName")
            .Build();
    }

В startup.cs я вижу только «CustomApplicationName», а не переменную среды.

public class Startup
{
    public Startup(IConfiguration configuration, IHostingEnvironment hostingEnvironment)
    {
        Configuration = configuration;
        Log.Information($"Startup of application {hostingEnvironment.ApplicationName} in Environment Mode {hostingEnvironment.EnvironmentName}");
    }
}

Я также пытался использовать двойное подчеркивание в имени переменной среды.

Я работаю в Mac OS.

1 Ответ

0 голосов
/ 18 октября 2018

Я подозреваю, что это то, что документация "придумана" и на самом деле не реализована.

Ядро ASP.NET размещено на github.Я сделал поиск .Единственное место, где появляется ASPNETCORE_APPLICATIONKEY, находится в самой документации.Единственный вопрос / PR, в котором он возникает, это https://github.com/aspnet/Docs/pull/7493, который является коммитом, который добавил эту переменную среды в документы и включает в себя следующее проницательное утверждение:

Я только что создал ASPNETCORE_APPLICATIONKEY?Это вещь?

...