2

Я отчаянно пытаюсь достичь предположительно очень простой цели отладки веб-приложения MVC 6 (Core 1.1) в VS 2017 RC3. Обычная отладка не работает, так как VS всегда пытается подключиться к программе, как задал вопрос в моем VS 2017 always times out debugging an MVC Core website on IIS Express profile вопрос. Теперь я застрял с «Начать без отладки» и пытаюсь подключиться к тому, что на самом деле принимает мое приложение.Какой процесс я должен подключить для отладки приложения MVC 6 wep с помощью профиля IIS Express?

Тип приложения - это консольное приложение, которое запускает узел Kestrel, но это консольное приложение не создает .exe, что я могу найти где угодно. Конечно, я попытался подключиться к IIS Express, но, используя это, ни один из моих контрольных точек никогда не попадал. Я верю в эти сценарии, IIS EXpress просто выступает в качестве прокси-сервера для фактического консольного приложения, которое является моим приложением MVC, поэтому, возможно, я должен приложить к процессу фактического веб-приложения, но что, черт возьми, это этот процесс?

ответ

7

Необходимо подключиться к процессу dotnet.exe. У вас может быть несколько dotnet.exe (особенно если вы одновременно запускаете проект .NET Core VS). Как правило, когда вы нажимаете Ctrl + Shift + P в VS, это будет первый файл dotnet.exe.

Однако ваши симптомы выглядят так, как будто ваше приложение действительно не начинается вообще, и IIS Express не может найти этот процесс. Я бы начал с проверки журнала событий для событий, связанных с IIS Express, поскольку IIS регистрирует идентификатор процесса запущенного приложения и ошибки, если они есть.

Лучшим способом отладки этого может быть пропустить IIS Express вообще и запустить приложение непосредственно из командной строки с помощью dotnet run. Таким образом вы увидите вывод в окне командной строки. Вы также можете распечатать идентификатор процесса из своего главного метода с:

Console.WriteLine("Process ID: " + System.Diagnostics.Process.GetCurrentProcess().Id); 

так, что легко понять, какой процесс прикрепить к тому, если вам это нужно.

+0

OK, спасибо. Я медленно набираю силу, но когда я пытаюсь подключиться к правильному процессу, я получаю: «Невозможно подключиться к процессу. Не удалось запустить удаленный отладчик Visual Studio (MSVSMON.EXE). – ProfK

+0

Удаленная отладка? – Pawel

+0

Нет, я отлаживаю процесс 'dotnet', но когда я добавил внешнюю команду инструмента для запуска' MSVSMON.EXE' и сделаю это перед установкой, моя отладка, наконец, работает. Спасибо, Павель! – ProfK