#.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 фактически сообщает о количестве процессов, которые он убил. Очевидно, он не понимает их всех.