Запуск dotnet run не запускает веб-сайт

#.net-core

Вопрос:

Я запустил свой веб-сайт с помощью dotnet run , и это сработало. Затем я нажал ctrl-c, и он остановился. Затем я сделал dotnet run это снова, и курсор перешел к следующей строке, и больше ничего не произошло. Веб — браузер тоже зависает.

Как мне снова запустить свой веб-сайт?

Комментарии:

1. Под какой операционной системой вы работаете и используете ли вы также VIsual Studio? У меня есть идеи, но я не хочу отвечать без более подробной информации.

2. У меня есть код, но я хотел запустить его в терминале на macOS.

3. Хорошо, моя идея может быть применима (вроде того). Попробуйте убить все процессы, связанные с dotnet, VS code, Microsoft, msbuild и т. Д. Иногда они сохраняют дескрипторы файлов открытыми и так далее…

4. Верно, что ж, это сработало. Я убил все процессы dotnet, и теперь это работает. Поэтому я думаю, что ctrl-C не делает того, что он говорит, что он делает на macOS.

Ответ №1:

В подобных ситуациях я склонен уничтожать все , что связано с dotnet VS, VS code, Microsoft (без обид), JetBrains (то же самое) и MSBuild.

Для Windows создайте пакет или сценарий оболочки с помощью приведенных ниже команд. Возможно, вам захочется его настроить; при необходимости добавляйте или удаляйте команды.

Для macOS вы можете перевести этот скрипт на родной язык или использовать Монитор активности.

Используйте на свой страх и риск!

 taskkill /F /IM MSBuild*
taskkill /F /IM ServiceHost*
taskkill /F /IM dotnet.exe
taskkill /F /IM vs*.exe
taskkill /F /IM ServiceHub*
taskkill /F /IM Microsoft.*
taskkill /F /IM JetBrains.*
taskkill /F /IM devenv.*
taskkill /F /IM BESClient.*
 

Причина, по которой это часто работает, заключается в том, что многие из этих инструментов удерживают ресурсы, особенно дескрипторы файлов, дольше, чем следовало бы.

Комментарии:

1. ctrl-c фактически сообщает о количестве процессов, которые он убил. Очевидно, он не понимает их всех.