Используется ли startSettings.json при запуске приложений ASP.NET 5 из командной строки на Mac?
Я разрабатываю приложение ASP.NET 5 Web API, используя код Visual Studio на Mac. Я вручную модифицировал свой файл Properties/launchSettings.json
для установки среды на Staging
для всех профилей с помощью переменной среды ASPNET_ENV
:
![введите описание изображения здесь]()
Однако, когда я запускаю dnx web
в терминале Mac для запуска приложения, я все равно получаю среду Production
:
![введите описание изображения здесь]()
Можно ли использовать launchSettings.json
для указания переменных среды (и, следовательно, типов среды), если я использую Visual Studio Code на Mac? Или это специфично для полной Visual Studio?
ASP.NET 5 docs предложить, чтобы launchSettings.json
можно было использовать для ввода переменных среды. Однако эта SO-дискуссия предлагает передать их через команды.
Ответы
Ответ 1
LaunchSettings.json - это строго концепция VS.. В других случаях вам придется настраивать переменные среды как команды ниже:
Для запуска стандартной командной строки используйте:
set ASPNET_ENV=Development
dnx web
Для командной строки используйте:
$env:ASPNET_ENV='Development'
dnx web
Более короткая версия: dnx web ASPNET_ENV=Development
Ответ 2
На Mac с помощью терминала введите:
export ASPNETCORE_ENVIRONMENT=Development && dotnet run
Требования:
Ответ 3
Добавляя к ответу @Chrysalis, вы также можете избежать "возиться" с текущей средой, передав необходимые переменные в командной строке.
Внутри файла project.json
скажите, что у вас есть команда web-dev
для среды разработки:
"commands": {
"web-dev": "Microsoft.AspNet.Server.Kestrel
--ASPNET_ENV Development --Hosting:Environment Development
--config hosting.Development.json",
},
где вы можете увидеть, как устанавливаются как ASPNET_ENV
, Hosting:Environment
, так и вызывается конкретная конфигурация hosting.json
.
ПРИМЕЧАНИЕ. команда разделяется на несколько строк только для удобства чтения, снова присоединяется, прежде чем вставлять файлы в файл JSON.