У меня есть приложение asp.net core
(.NET Core 2.1
).В методе ConfigureServices
есть код в Startup
классе:
Configuration = new ConfigurationBuilder()
.SetBasePath(_hostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", false, true)
.AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json", false, true)
.AddEnvironmentVariables("MyApp:")
.Build();
Также я устанавливаю system переменную окружения MyApp:DumpFolder
, чтобы переопределить DumpFolder
значение в appsettings.json
.И тут я столкнулся со странным поведением:
- Если я запускаю приложение из
visual studio
с F5 - оно не может видеть мою системную переменную среды - Если я собираю и запускаю его из папки
bin/Debug
с dotnet MyApp.dll
- он корректно загружает переменные.
Я проверил asp.net core
и вижу, что используется метод Environment.GetEnvironmentVariables()
, который по умолчанию (без указания EnvironmentVariableTarget
) получает переменные из текущего процесса.Я не понимаю, почему переменные не загружаются, когда я запускаю приложение с visual studio
?