У меня есть приложение ASP.NET Core (Web Api). В документации объясняется working with multiple environments, однако он не смог объяснить, как установить aspnetcore_environment
при публикации веб-сайта.Как установить aspnetcore_environment в файл публикации?
Так позволяет сказать, что если у меня есть 3 среды Development
, Staging
и Production
В классическом Web ASP.NET Application я использовал для создания 3 конфигураций сборки.
Development
,Staging
иProduction
(Как показано на рисунке ниже). а затем 3.pubxml
файлов, по одному для каждой конфигурации. Нужно ли использовать тот же подход для приложенияASP.NET Core
?Как установить
aspnetcore_environment
в файле.pubxml
?Если подход, указанный в Вопросе 1, устарел, то каков альтернативный подход? (Я использую Jenkins для CI)
Update 1
Я понимаю, что я должен установить ASPNETCORE_ENVIRONMENT
однако я не могу понять, где мы устанавливаем это? Во время разработки я могу установить это в профиле в launchSettings.json
, однако вопрос был в том, как мы устанавливаем это при публикации в постановку или производство? устанавливаем ли переменную окружения на самом целевом сервере?
Update 2
Я нашел статью here, которая объясняет различные способы установки переменной окружения. Это частично ответило на мой вопрос. Однако, когда я опубликовать приложение, процесс публиковать не чтит переменные среды при публикации appsettings.{env.EnvironmentName}.json
я создал отдельный post для этого вопроса
Возможный дубликат [Проходная среда для самостоятельного хостинга] (http://stackoverflow.com/questions/39203820/pass-hosting-environment-for-self-hosting). На этот вопрос уже был дан ответ. Просто используйте commandline/powershell/bash/azureportal, чтобы установить переменную окружения – Tseng