Меню Run в Visual Studio позволяет выбрать либо IIS Express, либо Kestrel, как показано на рис. 29.3. После выбора профиля проект можно запустить, нажав <F5> (режим отладки), нажав <Ctrl+F5> (эквивалентно выбору пункта Start Without Debugging (Запустить без отладки) в меню Debug (Отладка)) или щелкнув на кнопке запуска с зеленой стрелкой (эквивалентно выбору пункта Start Debugging (Запустить с отладкой) в меню Debug).

На заметку! В случае запуска приложения из Visual Studio средства редактирования и продолжения больше не поддерживаются.

<p id="AutBody_Root1376"><strong>Использование командной строки или окна терминала Visual Studio Code</strong></p>

Чтобы запустить приложение из командной строки или окна терминала VS Code, перейдите в каталог, где находится файл .csproj для вашего приложения. Введите следующую команду для запуска приложения под управлением веб-сервера Kestrel:

dotnet run

Для завершения процесса нажмите <Ctrl+C>.

<p id="AutBody_Root1377"><strong>Изменение кода во время отладки</strong></p>

При запуске из командной строки код можно изменять, но изменения никак не будут отражаться в выполняющемся приложении. Чтобы изменения отражались в выполняющемся приложении, введите такую команду:

dotnet watch run

Обновленная команда вместе с вашим приложением запускает средство наблюдения за файлами. Когда в файлах любого проекта (или проекта, на который имеется ссылка) обнаруживаются изменения, приложение автоматически останавливается и затем снова запускается. Нововведением в версии ASP.NET Core 5 является перезагрузка любых подключенных окон браузера. Хотя в итоге средства редактирования и продолжения в точности не воспроизводятся, это немалое удобство при разработке.

<p id="AutBody_Root1378"><strong>Использование Visual Studio Code</strong></p>

Чтобы запустить проекты в VS Code, откройте каталог, где находится решение. После нажатия <F5> (или щелчка на кнопке запуска) среда VS Code предложит выбрать проект для запуска (AutoLot.Api или AutoLot.Mvc), создаст конфигурацию запуска и поместит ее в файл по имени launch.json. Кроме того, среда VS Code использует файл launchsettings.json для чтения конфигурации портов.

<p id="AutBody_Root1379"><strong>Изменение кода во время отладки</strong></p>

В случае запуска приложения из VS Code код можно изменять, но изменения никак не будут отражаться в выполняющемся приложении. Чтобы изменения отражались в выполняющемся приложении, введите в окне терминала команду dotnet watch run.

<p id="AutBody_Root1380"><strong>Отладка приложений ASP.NET Core</strong></p>

При запуске приложения из Visual Studio или VS Code отладка работает вполне ожидаемым образом. Но при запуске из командной строки вам необходимо присоединиться к выполняющемуся процессу, прежде чем вы сможете отлаживать свое приложение. В Visual Studio и VS Code это делается легко.

<p id="AutBody_Root1381"><strong>Присоединение с помощью Visual Studio</strong></p>

После запуска приложения (посредством команды dotnet run или dotnet watch run) выберите пункт меню Debug?Attach to Process (Отладкам?Присоединиться к процессу) в Visual Studio. В открывшемся диалоговом окне Attach to Process (Присоединение к процессу) отыщите процесс по имени вашего приложения (рис. 29.4).

После присоединения к выполняющемуся процессу вы можете устанавливать в Visual Studio точки останова, и отладка будет работать так, как ожидалось. Редактировать и продолжать выполнение не удастся; чтобы изменения отразились в функционирующем приложении, придется отсоединиться от процесса.

<p id="AutBody_Root1382"><strong>Присоединение с помощью Visual Studio Code</strong></p>

После запуска приложения (командой dotnet run или dotnet watch run) щелкните на кнопке запуска с зеленой стрелкой и выберите .NET Core Attach (Присоединение .NET Core) вместо .NET Core Launch (web) (Запуск .NET Core (веб)), как показано на рис. 29.5.

Когда вы щелкнете на кнопке запуска, вам будет предложено выбрать процесс для присоединения к нему. Выберите свое приложение. Затем можете устанавливать точки останова обычным образом.

Преимущество использования среды VS Code заключается в том, что после ее присоединения (и применения команды dotnet watch run) вы можете обновлять свой код во время выполнения (без необходимости в отсоединении) и вносимые изменения будут отражаться в функционирующем приложении.

<p id="AutBody_Root1383"><strong>Обновление портов AutoLot.Api</strong></p>

Вы могли заметить, что приложения AutoLot.Api и AutoLot.Mvc имеют разные порты, указанные для их профилей IIS Express, но для обоих приложений порты Kestrel установлены в 5000 (HTTP) и 5001 (HTTPS), что вызовет проблемы, когда вы попытаетесь запустить приложения вместе. Измените порты для AutoLot.Api на 5020 (HTTP) и 5021 (HTTPS), например:

"AutoLot.Api": {

Перейти на страницу:

Похожие книги