У меня небольшая (хотя и не влияющая на функциональность) проблема со службой приложений Azure и ASPNETCORE_ENVIRONMENT. В моей локальной среде разработки я использовал команду setx ASPNETCORE_ENVIRONMENT "Development", чтобы установить для моей локальной среды разработку. Когда я вывожу значение Environment.GetEnvironmentVariable («ASPNETCORE_ENVIRONMENT») в моем локальном файле, он корректно возвращает «Development» и правильно выбирает правильный файл JSON appSettings Development. Пока все хорошо.
Вот где все становится странным (или, может быть, это правильно?). В службе приложений Azure я установил значение ASPNETCORE_ENVIRONMENT в разделе «Параметры приложения» на «Производство». Когда я выводю это значение в приложении, оно говорит: «Производство; Разработка». Я ожидал "Производство". Приложение корректно извлекает значения производственного приложения, но почему я вижу оба значения? Я смог адаптировать свой код, чтобы проверить, имеет ли значение .Contains ("Production") для специфической для производства функциональности, но я не могу понять, почему присутствуют оба значения. Я тщательно исследовал и не могу найти причину. Мои файлы решения и проекта не имеют установленных переменных. В моей сборке / конвейере Azure для этого не заданы переменные.
Есть мысли?