Когда я занимаюсь локальной разработкой с помощью VS Code, я буду использовать порт 3000, потому что я хипстер. Не-хипстеры хотят, чтобы он был на порту 8080 на сервере. Это круто, мы получили это. Документы Microsoft дают мне следующий пример:
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddJsonFile("hosting.json", optional: true)
.AddCommandLine(args)
.Build();
var host = new WebHostBuilder()
.UseConfiguration(config)
.UseKestrel()
.Configure(app =>
{
app.Run(async (context) => await context.Response.WriteAsync("Hi!"));
})
.Build();
host.Run();
}
Я не хочу использовать hosting.json
. Зачем мне это? У меня есть этот файл appsettings.{environment}.json
именно для этой ситуации. Сладкий, я просто вставлю этого плохого парня
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddCommandLine(args)
.Build();
Что за ошибка компилятора? env
не существует в текущем контексте. Он существует только в файле Startup.cs
, который не вызывается при запуске, а вызывается из файла запуска Program.cs
с помощью колдовства.
Итак, как мне решить эту проблему? Как я могу сохранить свои настройки хостинга для конкретной среды в своем appsettings.json
для конкретной среды и впоследствии использовать их при создании своего веб-хостинга для конкретной среды через WebHostBuilder
в Program.cs
?