Невозможно установить переменную среды для разработки в Asp.NET CORE - PullRequest
0 голосов
/ 24 октября 2019

Мой файл launchSettings.json:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:65000",
      "sslPort": 44367
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "Portal.WebUI": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:5001;http://localhost:5000"
    }
  }
}

Кроме того, когда я щелкаю правой кнопкой мыши свой веб-проект в обозревателе решений, мой ASPNETCORE_ENVIRONMENT устанавливается на Разработка.

Но есть проблема,

В моем стартапе

if (env.IsDevelopment())
{
}                            }
else{
}

когда я ставлю здесь отладчик, он переходит в блок "else", как будто он не настроен на среду разработки.

Поэтому я попыталсядругой способ отладки, и я думаю, что знаю ошибку, но я не знаю, почему это происходит.

Поэтому я поставил строку кода над моим условием "если / еще", которое:

var envi = env.EnvironmentName;
if (env.IsDevelopment())
 {      
 }
 else
{
}

Поэтому, когда я помещаю точку отладчика в строку «var envi», тогда в переменной «envi» появляется «Development; Development;»;но это должно быть только «Разработка».

РЕДАКТИРОВАТЬ

Теперь я попытался изменить его на «Производство», щелкнув правой кнопкой мыши мой проект и установив для ASPNETCORE_ENVIRONMENT значение «Производство». теперь моя переменная "envi" - "Разработка; Производство"

Так что всегда есть "Разработка;", как я могу найти проблему здесь ..

Можете ли вы помочь?

1 Ответ

1 голос
/ 24 октября 2019

Visual Studio кэширует переменные среды при запуске, а не при нажатии «отладка», поэтому вы можете перезапустить IDE и повторить попытку.

...