Ошибка "Не удается запустить веб-сервер 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 бит