Пробовал и Visual Studio 2015, и 2017 с последними обновлениями, различными веб-приложениями (на основе .NET Framework и .NET Core). IISExpress - 10.0, Windows 10 Pro.
Когда я запускаю веб-приложение типа http://localhost:49217,, оно работает. Если это http://mydomain:49217,, я получаю «mydomain отказался соединяться». В то же время, если я выполняю команду «ping mydomain», это успешно.
Я сделал:
- "mydomain 127.0.0.1:" в файле hosts
- в applicationhost.config (оба заменяют запись localhost и сохраняют как localhost, так и mydomain)
- удостоверился, что это фактическое applicationhost.config (так как в разных версиях Visual Studio их много). Например, когда я изменяю настройки непосредственно в Visual Studio, я вижу, что этот файл обновляется.
- "netsh http add urlacl url = http://mydomain:49217/ пользователь = все" под привилегиями администратора
Я попытался запустить Visual Studio как администратор, а также запустить IISExpress напрямую (также как администратор):
C:\WINDOWS\system32>"c:\Program Files\IIS Express\iisexpress.exe" /config:"c:\solution_path\.vs\config\applicationhost.config" /site:"solution"
Starting IIS Express ...
Successfully registered URL "http://localhost:49217/" for site "solution" application "/"
Successfully registered URL "http://mydomain:49217/" for site "solution" application "/"
Successfully registered URL "http://*:49216/" for site "solution" application "/"
Registration completed for site "solution"
Затем я вижу входящие соединения, когда это localhost, но не mydomain.
Я пытался отключить брандмауэр Защитника Windows для частных и общедоступных сетей, но безрезультатно.
Что еще я могу сделать?
EDIT:
Теперь я попытался запустить одно из веб-приложений (.NET Core one) под Kestrel, и это с самого начала работало, я могу получить доступ к http://mydomain:49217 просто отлично. Не работает только IISExpress, и мне приходится использовать IISExpress, Kestrel не подходит для меня.