Как Visual Studio 2017 узнает, что IISExpress выбран в свойствах отладки? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть файл LaunchSettings, который выглядит следующим образом:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5002",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "MvcClient": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:5002"
    }
  }
}

Если я щелкну правой кнопкой мыши по проекту и выберу Свойства / Отладка, то выбранный профиль: IIS Express.Если я добавлю поддержку docker в проект, то в файл launchsettings.json добавится новая запись, и профиль в свойствах отладки изменится на: Docker.

Как Visual Studio знает, что выбрать?Я ожидал увидеть свойство JSON с именем: Selected (со значениями true или false) под каждым профилем.

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

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Другие ответы указывают, где в пользовательском интерфейсе вы меняете его, но не то, как VS на самом деле знает, что вы выбрали.Ответ на это в файле ___.csproj.user.Если вы проверите, вы увидите что-то вроде этого:

<ActiveDebugProfile>IIS Express</ActiveDebugProfile>

Если вы измените его, он изменится в памяти.Если вы «сохраните все» или попытаетесь запустить с использованием другого профиля, изменения будут сохранены в файле пользователя.

0 голосов
/ 18 декабря 2018

Вы не можете сохранить выборочно в файле launchsettings.json, Debug-Settings предназначены только для настройки профиля, а не для его выбора - вам нужно изменить профиль с помощью маленькой стрелки рядом с кнопкой отладки, чтобыустановите его для текущего сеанса Visual Studio: enter image description here

При использовании командной строки вы также можете установить Launch-Profile с помощью --launch-profile - Параметр:

запуск по сети Dotnet --launch-profile 'MvcClient'

Профили IIS Express не работают с работой по сети Dotnet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...