«Среда хостинга» на консоли происходит от переменной среды ASPNETCORE_ENVIRONMENT. Если эта переменная не установлена, по умолчанию используется «Производство».
Здесь установлено: HostingEnvironment.cs
Причина этого значения по умолчанию описана в этом выпуске github .
Эта переменная популярна в основных веб-приложениях dotnet, но она не упоминается в официальных документах функций Azure (я не знаю, почему). Если вы напишите цикл for и выведите все переменные среды на консоль из функции, вы обнаружите, что эта переменная не установлена по умолчанию - ни в рабочей среде, ни при работе в Visual Studio.
Если вы хотите определить эту переменную локально, у вас есть несколько разных способов.
Установка переменной среды через командную строку:
setx ASPNETCORE_ENVIRONMENT "Development"
Определение этого в Properties \ launchSettings.json:
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
Определение этого в local.settings.json:
"Values": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
Обратите внимание, что эта переменная не определяется автоматически для рабочей среды, когда вы публикуете свое приложение в Azure. Вам нужно будет определить эту переменную в «Конфигурация» -> «Настройки приложения» на портале Azure.
В функциях Azure, похоже, есть еще одна похожая переменная среды, которая называется AZURE_FUNCTIONS_ENVIRONMENT. Этот определяется по умолчанию локально.
AZURE_FUNCTIONS_ENVIRONMENT = Development
Это не определено в рабочей среде по умолчанию и может быть определено на портале Azure.
Разница между host.json и local.settings.json :
host.json - это настройка предопределенных параметров, которые понимает инфраструктура приложения. Это относится как к локальной, так и к производственной среде. Это не позволяет пользовательские настройки, хотя. local.settings.json, с другой стороны, полезен для определения пользовательских настроек. host.json используется для управления исходным кодом, но local.settings.json обычно не контролируется исходным кодом и считается хорошим местом для хранения секретов и строк подключения для разработки.
Подробнее о различиях: https://docs.microsoft.com/en-us/azure/azure-functions/functions-develop-vs#create-an-azure-functions-project (прокрутите до конца этого раздела)
host.json ссылка
local.settings.json ссылка