Я пишу приложение ASP.NET Core (на полной платформе .NET Framework), которое использует WebListener, а не Kestrel.¹ Я использую Visual Studio 2015 с Update 3 и «.NET Core 1.0.1 tools Preview 2 "(последняя версия VS на download site на момент написания этой статьи).Как отключить профиль запуска IIS Express для ядра ASP.NET?
Поскольку я использую WebListener, а потому, что WebListener is not compatible with IIS Express, я хотел бы отключить профиль запуска IIS Express в Visual Studio, так что когда мои партнеры по команде откроют это решение, их Visual Studios по умолчанию запускает консольное приложение вместо IIS Express, и они смогут просто нажать Run, а не получать ошибки.
Но до сих пор я не смог избавить VS от профиля запуска «IIS Express». Вкладка «Свойства проекта»> «Отладка» позволяет мне редактировать список профилей, но когда я выбираю профиль «IIS Express», кнопка «Удалить» отключена. Если я сразу же отредактирую файл launchSettings.json и удалю элемент «IIS Express» из «профилей», операция «Файл»> «Сохранить» автоматически вставляет профиль «IIS Express» обратно в JSON, который он сохраняет на диск!
По-видимому, Microsoft действительно хочет всегда иметь профиль запуска «IIS Express», хотя он не обязательно совместим со всеми проектами Core .NET. Но стоит спросить: Кто-нибудь нашел способ отключить профиль запуска «IIS Express» в проекте ASP.NET Core и имеет только только опции самостоятельного хоста в селекторе запуска запуска?
¹ Для любопытных я использую WebListener, потому что он позволит мне самостоятельно запускать службу Windows и по-прежнему поддерживать аутентификацию NTLM на машине без установки IIS. Kestrel поддерживает NTLM только в том случае, если он размещен в IIS, а не когда он сам размещен.
Действительно ли он сохраняет файл таким образом? В VS2015, когда я нажимаю «Сохранить», файл, который * фактически записывается на диск *, снова добавляет профиль IIS Express. Однако вы не увидите этого изменения в среде IDE, если вы не закрываете и не открываете файл или не открываете это во внешнем редакторе. –
Только что подтверждено. Это действительно сохраняет его, как показано. Закрытие и повторное открытие файла (в VS или в противном случае) показывает его сохранение, как и следовало ожидать. – ssmith
Хорошо, круто. Интересно, нашел ли они какой-то сценарий, в котором VS2015 не мог эффективно работать без IIS Express и расширен VS2017 для покрытия этого сценария (и, таким образом, принудительный вариант IIS Express в 2015 году, но не 2017). Если вы отредактируете свой ответ, чтобы поставить «он работает в VS2017, должен быть VS2015», более заметным наверху, я буду рад принять ваш ответ. –