Установка порта как в project.json, так и в launchSettings.json

Я хочу, чтобы мой проект запускался на определенном порту с использованием как IIS Express, так и Kestrel в Visual Studio с помощью кнопки запуска «IIS Express» или «веб».

По умолчанию файл launchSettings.json содержит определенный номер порта для IIS Express. Однако Kestrel всегда запускается на порту 5000 по умолчанию. Как заставить Kestrel также запускаться на том же порту, что и IIS Express?

запускSettings.json

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5020/",
      "sslPort": 44320
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    },
    "web": {
      "commandName": "web",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
  }
}

Извлечение проекта.json

{
    ...
    "commands": {
        "web": "Microsoft.AspNet.Server.Kestrel"
    },
    ...
}

Я попытался изменить веб-команду в project.json на:

"web": "Microsoft.AspNet.Server.Kestrel  --server.urls http://localhost:5020"

Однако это полностью останавливает запуск сайта в IIS Express.


person Muhammad Rehan Saeed    schedule 20.04.2016    source источник
comment
Попробуйте использовать hosting.json. См. ответ.   -  person Oleg    schedule 20.04.2016
comment
Я делаю что-то очень похожее на то, что вы пробовали здесь и здесь и это работает для меня. iis использует порт 60000, и моя пользовательская команда port-tenants запускает 2 экземпляра на разных портах, но один из них имеет тот же 60000, что и IIS. Но оба не могут работать одновременно. Мне нужно убить IIS Express, чтобы использовать команду, или убить команду, чтобы использовать IIS. Сначала я помню проблемы, но перезагрузка все исправила.   -  person Joe Audette    schedule 20.04.2016
comment
Это будет лучше работать в RC2. В RC1 IIS предоставит динамический адрес в дополнение к настроенному адресу пустельги. В RC2 IIS заменит настроенный адрес пустельги и избежит конфликтов.   -  person Tratcher    schedule 20.04.2016