Поскольку веб-приложения Core 2.2 действительно могут работать в IIS (Express) без использования Kestrel в фоновом режиме. Это называется IISHttpServer или «внутрипроцессная» модель хостинга. В нижней части этого вопроса я опишу несколько статей об этом. Последняя гиперссылка в этом списке ссылок гласит, что «приложения ASP.NET Core по умолчанию соответствуют модели внутрипроцессного хостинга», но в моей среде это не так.
Я бы хотел отладить с помощьювнутрипроцессный IISHttpServer, особенно когда дело доходит до проверки подлинности Windows в Core (без ядра или HTTP.sys). К сожалению, я не могу заставить это работать в коде Visual Studio.
Для воспроизведения создайте новый проект, подобный этому:
dotnet new mvc
В моем файле .csproj я добавляю:
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
На снимке экрана ниже вы можете видеть, что это приложение MVC все еще использует Kestrel:
Как отладить IIS вПроцесс хостинга с основным проектом в VSCode?
Когда я пытаюсь сделать это с VS2019, он работает нормально. Ответ может быть в содержании launch.json и launchSettings.json, поскольку dotnet их генерирует.
Ссылки: