.NET Core, как указать среду для запуска приложения - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть сервер разработки, подготовки и производства для моего проекта. Однако когда я запускаю проект на моем сервере разработки, он запускается в производственном режиме. Я могу сказать, потому что он использует значения из моего appsettings.Production.json.

Как мне указать, что мой проект должен работать в режиме разработки с этого конкретного сервера? Я попытался установить переменную окружения ASPNETCORE_ENVIRONMENT = Development, но это не сработало.

Пожалуйста, помогите. Я понятия не имею, как это решает использовать производственную среду. Любое понимание поможет.

1 Ответ

0 голосов
/ 01 сентября 2018

Настройки среды задаются в переменных среды операционной системы, то есть в профиле bash. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1

Но вы можете изолировать параметры среды во время запуска, настроив профили. Команда dotnet run с параметром --launchprofile позволяет указать, какой профиль использовать. Это то, что Visual Studio также использует при запуске приложения.

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1

Набор переменных, установленный в launchSettings.json, который вам нужно будет создать и опубликовать с соответствующим профилем запуска.

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54339/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express-local": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_My_Environment": "1",
        "ASPNETCORE_DETAILEDERRORS": "1",
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "EnvironmentsSample-staging": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Staging"
      },
      "applicationUrl": "http://localhost:54340/"
    }
  }
}
...