При запуске приложения Kestrel из Visual Studio 2017 (Windows 10) в командной строке появляется следующая строка:
«Невозможно привязаться кhttp://localhost:50067на интерфейсе обратной связи IPv4: «Была предпринята попытка доступа к сокету способом, запрещенным его разрешениями на доступ».
И после этого упоминается, что
Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
Для справки, пожалуйста, посмотрите также на скриншот.
Невозможно привязаться к номеру порта
В чем причина этого?
Я проверил порт с помощью команды netstat -a
.
Примечание. netstat -a
В окне «Командная строка» нажмите «Enter». На компьютере отобразится список всех открытых портов TCP и UDP.
Я также не могу найти свой номер порта в этом списке.
решение1
ПослеОбновление Windows 10 KB4074588, некоторые порты зарезервированы Windows, и приложения не могут привязываться к этим портам. 50067 находится в заблокированном диапазоне.
Вы можете использовать netsh interface ipv4 show excludedportrange protocol=tcp
для вывода списка зарезервированных диапазонов.
решение2
Я сталкивался с этим несколько раз с Windows 10 на dotnet core (2.2). В моем случае это обычно происходит после обновления драйвера сетевой карты (например, приложением Dell Support Assist). Странно то, что проблема возникает только в одном из 3 приложений dotnet core, а с API NodeJS у меня проблем нет.
В моем случае перезагрузка решает проблему.
решение3
Я не могу добавлять комментарии,
почему мой список блокировки отличается? – liang 2 нояб. 2020 в 9:39
Если веб-сайт IIS использует порт, он отображается в этом списке. Я полагаю, что и другие службы Windows тоже.
решение4
Я столкнулся с этой ошибкой при попытке запустить образец бота Bot Framework от Microsoft.
Оказывается, у меня просто был другой бот, работающий в фоновом режиме на порту (3978). Как только я его остановил, мне удалось успешно запустить образец.