Ошибка "Не удается запустить веб-сервер IIS Express"
Я получаю эту ошибку при попытке запуска IIS Express из Visual Studio с проектом, настроенным на прослушивание адреса, отличного от localhost. Visual Studio замерзает около 30 секунд, прежде чем дать сообщение об ошибке "Невозможно запустить веб-сервер IIS Express".
Я пробовал все решения, отправленные на похожие вопросы, и я думаю, что все сделано правильно. Вот шаги, которые я предпринял:
-
Добавьте в HTTP.SYS следующую резервную копию:
netsh http add urlacl url=http://+:36899/ user=Everyone
-
Запустите Visual Studio 2012 как администратор (технически я не думаю, что мне даже придется с тех пор, как я setup HTTP.SYS вручную).
-
Отключить брандмауэр Windows.
-
Удалите папку IISExpress в папке Мои документы, чтобы убедиться в ее настройках по умолчанию.
-
Разрешить Visual Studio создавать запись в applicationhost.config для моего веб-проекта. Затем вручную отредактируйте файл конфигурации, чтобы изменить localhost
на 192.168.0.100
, который является моим локальным IP-адресом. Затем вернитесь к свойствам проекта в Visual Studio и измените localhost на IP и сохраните проект, чтобы мой проект теперь был установлен на http://192.168.0.100:36899
.
Я также попытался изменить порт и повторить вышеописанные шаги, просто отключив порт по какой-то причине.
Я хочу, чтобы мой экземпляр разработчика IIS Express был доступен из моего IP-адреса в Интернете для удаленного тестирования.
Ответы
Ответ 1
Единственное, что исправлено для меня, это использовать следующую строку в разделе <bindings>
для моего сайта в файле applicationhost.config
:
<bindings>
<binding protocol="http" bindingInformation="*:8099:" />
</bindings>
Ключом было просто удалить localhost. Не заменяйте его звездочкой, не заменяйте его IP-адресом или именем компьютера. Просто оставьте поле пустым после толстой кишки.
После этого мне не нужно запускать Visual Studio в качестве администратора, и я могу свободно изменять Url проекта в свойствах проекта на локальное имя IP или компьютера. Затем я настроил переадресацию портов и был доступен для Интернета.
EDIT:
Я обнаружил еще одну причуду, которая важна для того, чтобы IIS Express правильно обслуживал внешние запросы.
-
Если вы используете Visual Studio/IIS Express в качестве администратора, вы не должны добавлять резервирование в HTTP.SYS с помощью команды "netsh http add urlacl...". Это приведет к ошибке HTTP 503 Service Unavailable. Удалите все сделанные вами резервирования в URLACL, чтобы исправить это.
-
Если вы не запускаете Visual Studio/IIS Express в качестве администратора, вы должны добавить резервирование в URLACL.
Ответ 2
Если вы используете VS2015, закройте это решение, удалите следующий файл, затем повторно откройте решение.
<<path_to_solution_folder>>\.vs\config\applicationhost.config
Обратите внимание, что папка .vs может быть скрыта
Ответ 3
У меня была точно такая же проблема. Пробовал все, но, наконец, один трюк работал.
- Удалить папку IISExpress из "Мои документы"
- Загрузите проект еще раз, он снова создаст папку IISExpress с обновленной конфигурацией
- Проверить папку IISExpress имеет достаточные разрешения для чтения и записи файла конфигурации.
- Загрузите проект еще раз и запустите IISExpress. Он должен работать.
Ответ 4
Я менял эту запись (для которой мой веб-сервер не запускался и показывал мне ошибку отказа в доступе для определенного порта)
<bindings>
<binding protocol="http" bindingInformation="*:61235:localhost" />
</bindings>
в "applicationhost.config" в "Documents\IISExpress\config" для конкретного веб-приложения, которое было перезаписано Visual Studio 2012 снова на порт по умолчанию всякий раз, когда я запускал веб-приложение.
Но я решил проблему, ничего не делая в applicationhost.config
. Я просто изменил "свойства проекта" > "web" > "url проекта" с http://localhost:62135/
на http://localhost:47279/
(зависит от вашего компьютера), и это сработало для меня.
Ответ 5
- Закройте свой проект.
- Перейдите в папку настроек и выберите опцию show hidden folders.
- Откройте папку, в которой находится ваше приложение. Вы увидите папку
.vs
.
- Откройте папку
.vs
, вы увидите в ней папку config
. Удалите его содержимое.
- Запустите Visual Studio в режиме администратора. Откройте решение из меню
File
.
- Очистите ваше решение.
- Постройте его.
- Запустите его и вуаля!
Я не рекомендую удалять папку IIS Express или входить в файл конфигурации.
Ответ 6
У меня была такая же проблема, но с другой причиной, которая может помочь другим.
Используйте для этого команду commandprompt в режиме администратора:
- ТИП: netsh http show iplisten
Если есть какие-либо IP-записи:
- ТИП: netsh http delete iplisten
Повторяйте, пока список не будет пуст. Проверьте, запускается ли IIS Express.
Надеюсь, это поможет,
Niels
Ответ 7
Удаление ненужных записей сайта из файла applicationhost.config решило проблему для меня.
Ответ 8
Попробуйте следующее:
- Откройте Свойства своего решения.
- Перейти в Интернет
- под LOCAL IIS, изменить номер порта на любой другой номер порта и создать
новый виртуальный каталог.
Ответ 9
Для меня это был файл applicationhost.config
в папке .vs
в моей папке решения проекта (папка .vs
по умолчанию скрыта). Итак, я закрыл проект и удалил папку .vs
(vs заново воссоздает он снова, когда вы открываете проект), затем повторно запустите проект и запустите его.
Ответ 10
Просто запустите Visual Studio как Запуск от имени администратора
Спасибо,
Ответ 11
В моем случае я попытался выполнить следующие действия, чтобы исправить эту проблему.
-
Удалить папку iisexpress из "MyDocuments"
-
Перейдите в Обозреватель решений → Щелкните правой кнопкой мыши по проекту → Перейти к Свойствам → Перейти на вкладку "Веб" → См. Серверы → нажмите на переключатель "USe Visual Studio Developtment Server" "
Надеюсь, это поможет вам.
Ответ 12
Я исправил его следующими шагами:
- Закрыть Visual Studio
- Запустите
netsh http show urlacl
и проверьте, указан ли ваш http-адрес/порт приложения.
- Запустите
netsh http delete urlacl url=[ADDRESS]
, заменив [ADDRESS]
на Зарезервированный URL, показанный предыдущей командой. Например http://+:17560/
- Запустите VS снова (в качестве администратора), затем перейдите в веб-проект Свойства → Веб, затем нажмите кнопку Создать виртуальный каталог.. li >
- Теперь вы можете запустить веб-проект.
Ответ 13
Я потратил 1 час на каждый рецепт, упомянутый выше. Тогда я ни разу не перезапустил свой компьютер и не попробовал еще раз. И теперь все в порядке.
Итак, попробуйте перезагрузить компьютер, прежде чем попробовать все вышеупомянутые решения. Это может помочь
Ответ 14
У меня была такая же проблема с Visual Studio 2012. Мне удалось ее решить, удалив из C:\Program Files (x86)\IIS Express\AppServer\applicationhost.config путь ненужных записей сайта. Наряду с запуском моего VS2012 в качестве администратора. Надеюсь, что это поможет
Ответ 15
В начале попробуйте отключить брандмауэр. Это помогло мне. Eset Smart Security 5 заблокировал его.
Ответ 16
У меня была эта проблема несколько дней назад, и все вышеперечисленные элементы мне не помогли.
У меня есть ESET Smart Security 5.0 на моем ноутбуке SONY VAIO, который работает в интерактивном режиме!
Наконец, я нашел проблему, ESET блокировал VS2012!
В прошлом ESET просил меня разрешить VS2012 общаться с Microsoft, я выбрал "Deny Access", и ESET с ума спустила правило для отказа
VS2012. Я пропустил это правило из "зоны правил ESET", и моя проблема была решена!
Ответ 17
Удалите папку IISExpress в папке "Мои документы", чтобы обеспечить настройки по умолчанию или восстановить ее прежнюю версию, когда она работает нормально.
Ответ 18
Удалите веб-сайт по умолчанию из <sites> </sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
и ваш собственный <site> </site>
и запустите "C:\Program Files\IIS Express\iisexpress.exe"
http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line
Ответ 19
В VS 2013 я увидел эту ошибку после настройки синхронизации Документов Google в Мои документы. Обновленные разрешения не для чтения и устранения проблем.
Ответ 20
В Debug > Свойства сайта.
изменить номер порта в Project Url на любое ближайшее значение и сохранить
![введите описание изображения здесь]()
Ответ 21
открыть командную строку в качестве администратора
затем выполните следующую команду:
netsh http show urlacl
вы увидите URL, который вы добавили до
теперь вы должны выполнить эту команду:
netsh http delete urlacl url=http://+:36899/ user=Everyone
пожалуйста, проверьте URL-адрес из списка при использовании:
(netsh http show urlacl)
Ответ 22
Я столкнулся с этой проблемой. Все, что я сделал, это перейти к веб-проекту. Свойства → Веб → В ProjectUrl я нажал кнопку "Создать виртуальный каталог", и моя проблема была исправлена.
Ответ 23
У меня была такая же проблема, что и на моем компьютере, имеющем множество обновлений для Windows.
Прошло несколько часов, пытаясь решить проблему, используя приведенные выше ответы без везения.
В прошлом у нас были разные проблемы из-за антивируса, из-за которого приложение блокировалось им, поэтому подумал о том, чтобы попробовать отключить.
Ответ 24
Поэтому, попробовав все решения, я просто удаляю "One Drive" со своего ПК, и проблема решается.
NB:
- Я пытался запустить основное веб-приложение .net.
- Visual Studio 2017 версия 15.9.5
- Windows 10 Pro, 64 бит