Сбой инициализации файла applicationhost config невозможно найти iis express
Ссылочный файл 'lib / jquery-validation / jquery.validate.js' не найден.
У меня есть свалка с rawcap, но я не замечаю там много. Некоторые из того, что было там:
Я не замечаю проблемы, но у меня есть сетевые данные, если это может помочь выяснить, почему я не могу подключиться к веб-серверу. Я получаю RST,ACK сразу, так что я предполагаю, что порт закрыт, и какой бы ни был этот веб-сервер, он не настраивается.
Можете ли вы открыть новый проект и проверить, работает ли он? Перезагрузить компьютер? Переместить проект в другой каталог
После установки обновления 2 для Visual Studio 2015 я начал получать ту же ошибку. Я попробовал все выше без удачи. Тем не менее, я нашел решение, которое работает для меня:
- Удалите файл YourSolutionFolder \ .vs \ config \ applicationhost.config (примечание: .vs - это скрытая папка)
- Откройте Visual Studio, щелкните правой кнопкой мыши веб-сайт> Свойства> вкладка Отладка> Настройки веб-сервера> URL-адрес приложения - измените номер порта.
Человек, моя ошибка вернулась, нашел это также на другом сайте, но он просто продолжает выдавать эту проклятую ошибку. Разозлить меня. Я бы запустил веб-консоль, но у нее нет наблюдателя, так что я могу просто обновить ctrl + s.
Для проекта Net Core 2.2 - После ОГРОМНОЙ борьбы и попыток всего: от удаления папки .vs, удаления конфигураций IIS Express, изменения номеров портов, изменения привязок и до запуска VS от имени администратора, Я ПОЛНОСТЬЮ исправил проблему, закрыв 1. Закрытие VS, 2. Удаление launchSettings.json 3. открытие VS, который заново сгенерирован launchSettings.json . Не было очевидно, что файл был поврежден или неправильный, или даже когда он изменился, чтобы вызвать сбой.
Выйдите из VS и удалите файл (project) .vs \ applicationhost.config. Перезагрузите VS. Это должно начать работать.
Перезапуск VS2017 не помог, но перезагрузка компьютера исправила это для меня. Не нужно было менять порт или удалять папку. Надеюсь, что это помогает другим.
Попробуйте использовать другой порт. Я только что создал новый проект Core 1.0 RC1 и получил ту же ошибку.
- Щелкните правой кнопкой мыши веб-проект
- Вкладка отладки
- Выключите и снова включите SSL, он должен генерировать новый случайный порт
- Скопируйте URL-адрес SSL и вставьте его в поле «Запустить URL».
- Запустить проект
Работал на меня (ТМ).
Мне удалось разобраться в проблеме в два этапа:
- ШАГ 1: УДАЛИТЬ папку .vs, которая скрыта внутри основной папки решения. (перед этим закройте Visual Studio), затем при повторном запуске Visual Studio эта папка и файл (applicationhost.config) внутри него будут автоматически созданы Visual Studio.
- ШАГ 2: Если у вас есть несколько проектов запуска , если вы все еще сталкиваетесь с проблемой, то один за другим запустите проект как запуск, а затем запустите как несколько проектов запуска.
- Удалить папку .vs (это скрытая папка).
- Перезагрузить компьютер.
- Закройте Visual Studio, удалите папки bin и obj из папки проекта. Откройте Project, затем перестройте решение.
- Попробуйте запустить Visual Studio от имени администратора.
- Чистое решение, а затем восстановить
- 1) Чистый раствор. 2) Выход из Visual Studio. 3) удалить папку .vs 4) повторно открыть Visual Studio
Да, это работает для некоторых, но не в моем случае. Понятия не имею, почему это не сработало. Единственная вещь, которая сделала, была перезагрузка моего компьютера.
Получил это после синего экрана. Пришлось удалить папку .vs и перезагрузить компьютер . Перезапуска визуальной студии было недостаточно.
Запустите VisualStudio с правами администратора и запустите проект. Затем закройте VisualStudio и все ошибки и снова запустите VisualStudio с обычным пользователем.
Это сделало это для меня.
Похоже, что IIS должен что-то записать в некоторые конфигурации с правами администратора (порт 80 не работал с обычным пользователем, но порт 6767 работал нормально).
Только разрешения администратора позволяют приложению связываться с номером порта, меньшим 1024. Вот почему 6767 работает для вас.
У меня была такая же проблема, я смог решить ее, изменив номер порта.
Щелкните правой кнопкой мыши по проекту и выберите свойства
Перейти в раздел отладки
В разделе «Настройки веб-сервера» измените порт URL приложения [просто увеличьте на один :)]
В моем случае это было какое-то другое приложение, прослушивающее тот же порт, к которому IIS Express пытался подключиться. Я должен бежать, netstat -ao чтобы увидеть PID процесса, который использует тот же порт и завершение работы приложения. В моем случае приложение было Viber.
Решение, которое сработало для меня, заключалось в следующем: закрыть проект VS В проводнике файлов перейдите к проекту и удалите всю папку «.vs». Перезапустите проект. Запустите «Отладка». Работает, очевидно, это как-то связано с «applicationhost». .config "файл.
Многие из них ответили не полностью решить проблему под рукой. Реальная проблема для меня заключалась в том, что у меня было две привязки, использующие один и тот же порт в моем файле applicationhost.config, и я не открыл порт для моей второй (не локальной) привязки . VS позволит вам по-прежнему работать в этих условиях, но только если вы находитесь в режиме администратора (отсюда и все ответы выше).
По сути, вы создаете два экземпляра IIS Express вашего приложения на одном и том же порту, поэтому изменение одного из портов в файле applicationhost.config позволит вам продолжить. Однако есть два разных файла applicationhost.config. Вы захотите выбрать тот, который имеет IP-адрес привязки и порт, который вы видите в свойствах вашего проекта
Перейдите в папку, где вы можете увидеть свое решение проекта и папки проекта (показать скрытые элементы в проводнике). Перейдите в скрытую папку .vs -> папка «YourAppName» -> config. Он должен содержать информацию о привязке, которую вы видели в свойствах вашего проекта.
Измените один из этих номеров портов на что-то отличное от «7000», чтобы вы не пытались использовать один и тот же порт.
В моем случае я использую адрес 192, который не является адресом локального хоста, поэтому мне нужно использовать некоторые команды netsh, чтобы открыть этот порт и выполнить ip up. Вот ссылка, которая показывает, как открыть порты для IIS Express, чтобы разрешить удаленное подключение. Запуск от имени обычного пользователя не будет работать, если вы не запустите перечисленные команды netsh.
Вот команды netsh:
- netsh http add urlacl url = http://192.168.1.42:58938/ user = Everyone
- netsh advfirewall firewall добавить правило name = "IISExpressWeb" dir = в протоколе = tcp localport = 58938 profile = private remoteip = действие localsubnet = allow
Скопируйте эти команды и запустите их в cmd с привилегиями ADMIN и с вашим IP-адресом и номером порта.
Although the solution opens. Also, When I try to run it from debug menu, I get following error:
and I can not debug the code. how to get rid of these errors and debug/run the web site from VS 2012 ?
@Robel, I see that in properties of site, under application tab, target framework is 4.5, and in Web Tab, Start Action is Current Page. should I change project url to localhost:44300 ? I am using IIS express 8
I was able to solve this issue by following way - 1) Visual Studio - Options - > Search - IIS 2)Check "Use the 64 bit version of IIS Express for web sites and projects".
54 Answers 54
I had the exact same problem.
The reason - bad IIS config file.
Try deleting the automatically-created IISExpress folder, which is usually located at %userprofile%/Documents , e.g. C:\Users\[you]\Documents\IISExpress .
Don't worry, VS should create it again - correctly, this time - once you run your solution again.
EDIT: Command line for deleting the folder:
This worked for me. Even after uninstalling and reinstalling IIS Express 8, it kept the same config file so my issue persisted. I renamed the IISExpress folder to something else and a new folder was created with a clean version of the config file.
@CoreyOgburn Should be under Documents folder and IISExpress, (i.e. C:\Users\Corey\Documents\IISExpress\Config) and delete the config folder. I have same problem but this didn't fix it for me.
@crokusek has the answer for VS2015 Update 3. Navigate to the ".vs\config" folder in the solution directory and delete the "applicationhost.config" file there.
Try to delete the .vs folder in project If someone still didn't work after doing it and restart the computer,
If using VS2015 or above
Make sure iisexpress process is not running.
Make sure no other process is using your desired port. You can do that by executing
in the console (as Administrator, type cmd in start menu, right click and choose 'Run as admiminstrator'). If you see an entry which state is ESTABLISHED or LISTENING it means that some other process is using this port. You'll need to terminate that process or change the port.
Я попытался запустить свой веб-сервис через визуальную студию. Я столкнулся с проблемой, как:
Итак, я попытался остановить и запустить службу вручную. Но процесс End отключен. Будет полезно, если кто-то может помочь с этой проблемой
У меня была аналогичная проблема при попытке запустить проект из Visual Studio 2019 в Windows 10. Приложение не может запуститься, так как порт явно используется другим процессом. Однако команда netstat показала, что порт не используется ни одним приложением.
Потратив 2 дня на гугление, я нашел решение, которое сработало для меня. Порт, который я пытался использовать, находился в диапазоне исключенных портов, который вы можете увидеть, выполнив команду:
Виновниками, которые зарезервировали эти порты в моем случае, были Docker для Windows и Hyper-V.
Решение
Я удалил Docker (так как он мне не нужен) и отключил Hyper-V. Чтобы отключить Hyper-V: Перейдите: Панель управления-> Программы и компоненты-> Включение или отключение компонентов Windows. Снимите флажок Hyper-V и перезагрузите компьютер.
После перезагрузки команда netsh interface ipv4 show excludedportrange protocol=tcp не показал зарезервированных портов.
Затем я добавил порт для своего приложения в диапазон исключенных портов, выполнив следующую команду из командной строки с повышенными привилегиями:
Затем я снова включил Hyper-V (при необходимости Docker можно переустановить) и снова перезагрузил компьютер.
Теперь Hyper-V зарезервировал свои порты, не мешая порту, используемому моим приложением: Зарезервированные диапазоны портов
Это сработало для меня, за исключением того, что мне нужен Docker, поэтому я просто отключил его при запуске, а не удалял.
Как и @Cory, я изменил свой порт в vs, чтобы он был чем-то за пределами диапазона, раздражает, потому что теперь мне приходится менять ссылающиеся приложения каждый раз, когда я это делаю, но это лучше, чем полный перезапуск.
Код ошибки 0x80070020 означает ERROR_SHARING_VIOLATION , что в случае IIS Express (или IIS) означает, что порт, который он пытается прослушивать, используется другим процессом.
Используйте команду netstat , чтобы узнать, какое приложение использует порт.
Параметр a указывает netstat отображать все подключения и прослушиваемые порты.
Параметр o указывает netstat отображать идентификатор процесса, связанный с соединением.
Выполнение приведенной выше команды netstat приведет к выводу, например:
Последнее отображаемое число (здесь 9544) является идентификатором процесса.
Это можно сделать значительно быстрее с помощью переключателя -n — он использует «числовой» вывод, что означает, что он не тратит время на запросы DNS для преобразования IP-адресов в имена хостов.
Я просто хотел упомянуть для других, что это ничего не нашло с использованием порта, но изменение порта, на котором работал локальный хост, решило проблему. Так что, если ничего не помогает, просто меняйте его в любом случае.
» с портом, который я пытаюсь запустить, и он не найден.
Решение, которое сработало у меня,
net stop winnat
Запустите свои службы докеров и снова запустите winnat
net start winnat
Проголосовал! Но обратите внимание, что это может убить сетевые функции WSL, пока вы не перезагрузите компьютер.
У меня такая же проблема. Я просто перезапустил Visual Studio, и это сработало.
Кажется, это происходит со мной всякий раз, когда я запускаю проект в VS 2019 с отладкой, используя F5, а затем пытаюсь запустить его без отладки, используя Ctrl + F5, когда он терпит неудачу. Перезапуск исправляет это, хотя я хотел бы, чтобы я действительно мог предотвратить это в первую очередь.
Я была такая же проблема. Как упоминает @Kautsky Lozano выше, другое приложение использует этот порт.
Итак [для ОС Windows] просто:
- Откройте монитор ресурсов (Диспетчер задач -> Производительность -> Открыть монитор ресурсов)
- Нажмите на вкладку Сеть.
- В разделе Подключения TCP найдите приложение, использующее локальный порт, который использует IIS Express, и закройте его. (в моем случае это был firefox)
Если netstat ничего не показывает, уже используя порт
netstat -ano | findstr
Порт может быть исключен, попробуйте эту команду, чтобы увидеть, не заблокирован ли диапазон чем-то еще:
netsh interface ipv4 show excludedportrange protocol=tcp
Вы можете попробовать разблокировать диапазон от начального порта для ряда портов (требуется командная строка с администратором):
netsh int ip delete excludedportrange protocol=tcp numberofports= startport=
Для меня я не мог разблокировать их, я просто получил «Доступ запрещен», поэтому мне пришлось выбрать другой порт для моего сайта.
Ничего кроме этого не помогло. Я мог видеть, что диапазон включает мой номер порта netsh interface ipv4 show excludedportrange protocol=tcp . Много времени было потрачено впустую, пока я не нашел это, чтобы решить эту проблему. Большое спасибо @john Leonard
Я столкнулся с той же проблемой после того, как мы обновили решение с Visual Studio 2012 до 2015. Я пришел сюда и запустил netstat только для того, чтобы обнаружить, что ни одно другое приложение не использует те же порты. Оказывается, у меня были одни и те же сайты с одинаковыми портами, сопоставленными в applicationhost.config в Users//Documents/IISExpress/config и applicationhost.config в папке .vs внутри моего решения. Я должен отметить, что проблема не началась сразу после обновления. Он просто начинает постоянно давать сбои однажды утром. Пара перезагрузок тоже не решила проблему.
Удаление конфликтующих сайтов из тех, что хранятся в моих документах, и перезапуск Visual Studio решили проблему.
После обновления Windows 10 и/или Visual Studio 16+ это может произойти из-за внутренняя ошибка, из-за которой IISExpress не может зарегистрировать какой-либо веб-сайт разработки, поскольку он больше не принимает соединения localhost .
Чтобы решить эту проблему, вам просто нужно снова зарегистрировать привязку. Для этого запустите из административной оболочки следующую команду:
- Перейти в диспетчер задач
- Найдите процесс «Хост фрейма приложения»
- Завершить этот процесс
- Попробуйте запустить снова
If not successful, Try run this command in cmd: "net stop winnat"
В моем случае помогло следующее:
- Удалите сайт из .vs\\config\applicationhost.config.
- Удалите сайт из Documents\IISExpress\config\applicationhost.config.
- Удалите IISUrl из .csproj
Когда я перезапустил Visual Studio, он присвоил проекту совершенно новый номер порта и отлично запустился.
Удаление iisExpress , которое включает applicationUrl и sslport из launchsettings.json, помогло мне с другими шагами.
У меня только что была эта проблема, хотя netstat не показывал никаких конфликтов.
Следующее исправило это для меня:
У меня возникла эта проблема при обновлении проекта MVC. Я скопировал более новый MVC .csproj поверх моего существующего файла .csproj, а затем вернулся к полностью рабочему проекту. Что я не учел, так это существующий номер порта в старом .csproj. У нового проекта был новый номер порта, но общее имя проекта/сборки. Этого было достаточно, чтобы заставить IIS Express сойти с ума и выдать это исключение.
- Закрыть визуальную студию
- удалить папку ".vs"
- Попробуйте изменить порт "localhost:8080"
У меня это сработало.
Причина этой ошибки в том, что вы указываете неправильный номер порта для своего приложения.
Используйте порт рядом с номером 8080, т.е.:
Изменить порт для вашего приложения в Visual Studio
Самый простой способ сделать это, не заходя в командную консоль, — просто закрыть все приложения (включая VS), затем запустить VS сам по себе и попробовать еще раз. Скорее всего, причиной конфликта является другое приложение, такое как ваш браузер. В моем случае Chrome вызвал это и был решен при выключении всего и перезапуске VS. Я снова открыл Chrome, и все было в порядке.
Приведенный выше материал netstat полезен, но для меня это только в том случае, если вы не можете сделать то, что я предлагаю.
Обобщить все ответы. Есть 2 решения. Оба работали на меня. – Решение 1 Завершите работу приложения, использующего тот же порт. - Решение №2 Настройте IIS Express для использования другого порта для вашего проекта.
Он возвращает: TCP 0.0.0.0:443 pe01:0 LISTENING 2904 Последнее число (спасибо @chris-schiffhauer) — это PID, который нужно убить. Перейдите в Диспетчер задач -> Процессы -> [Показать процессы всех пользователей], Убейте процесс с PID=2904. В моем случае это был хост VmWare.
Либо измените 433 на что-то другое, например 4330 , либо удалите конфликтующий тег .
Я смог решить эту проблему, удалив все теги от
Номера портов не совпадают
В моем случае проблема заключалась в моих тегах привязок, найденных в файле конфигурации в .vs в папке моего решения, номера портов не совпадали. Повязки были следующие
Итак, что я сделал, так это удалил внутреннюю привязку и запустил свое веб-приложение, затем оно сгенерировало новую привязку с другим номером, затем я скопировал новый сгенерированный порт в свои настройки, после чего ошибка исчезла.
Если ваше решение содержит простой старомодный веб-сайт (не веб-приложение), то номера портов также находятся в файле решения .sln.
Для старомодного редактирования веб-сайта работали оба файла (файл решения sln и файл applicationhost.config).
Потратив полдня, пытаясь решить эту же проблему, я решил, что должен добавить решение, которое в конечном итоге сработало для меня.
TL;DR Если netstat указывает на то, что проблема не используется, попробуйте еще несколько других в совершенно другом диапазоне.
Я сталкивался с этой проблемой раньше, но обычно перезапуск Visual Studio, изменение портов (увеличение на 1) или перезагрузка делают свое дело. Однако в данном случае ничего из этого не помогло, и netstat не обнаружил конфликтующий процесс. Я даже переустановил IIS и Visual Studio и удалил несколько других программ, которые, как я подозревал, могли мешать. Казалось, что IIS пытается запустить несколько экземпляров одного и того же сайта.
В конце концов я попытался запустить netstat без findstr . Я визуально просмотрел список активных портов и заметил, что, хотя те, которые я пробовал, не были перечислены, было несколько процессов, использующих порты в аналогичном диапазоне. Поэтому вместо этого я искал диапазон, который был свободен, выбрал номер порта, и, похоже, теперь он работает.
Я хотел бы услышать, может ли кто-нибудь объяснить, почему это могло сработать?
Я использую VS2019 версии 16.10.0 Preview 2.0, и я только что зашел сюда:
Снято Enable SSL => Сохранить => вернуть обратно => Сохранить.
Это действительно произошло после установки Docker .
Шаги по устранению:
Проверено Network в разделе Resource Monitor :
- Port 66666 не использовался ни одним сетевым процессом.
Пытался выйти Docker Desktop :
Проверен диапазон исключенных портов: netsh interface ipv4 show excludedportrange protocol=tcp
- Порт действительно находится в Exclusion Ranges .
Попробуйте снять флажок Hyper-V в Turn Windows Features On and Off :
- Не удается найти Hyper-V в Turn Windows Features On and Off .
Попытка удалить порт из диапазонов исключения:
netsh int ipv4 add excludedportrange protocol=tcp startport=66666 numberofports=1 store=persistent
Вдохновленный этой ссылкой, чтобы попытаться перезапустить сетевые службы:
- net stop winnat
- после запуска этой команды port 66666 уже исчез из Exclusion Ranges , выполнив netsh interface ipv4 show excludedportrange protocol=tcp
- остановил другие сетевые службы для большей уверенности
- net stop LanmanWorkstation
- net stop WlanSvc
- net stop WwanSvc
- перезапустить сетевые службы
- net start WwanSvc
- net start WlanSvc
- net start LanmanWorkstation
- net start winnat
Подтвержденный недоступный порт теперь доступен:
- netsh interface ipv4 show excludedportrange protocol=tcp
- Port 66666 больше не в Exclusion Ranges
- IIS Express Web Server успешно запущен.
Снова запустил Docker:
- port 6666 все еще доступно для использования.
Надеюсь, это кому-нибудь поможет.
Я уже пробовал следующее:
- Перезапущенная Visual Studio
- Проверьте все доступные порты, которые могут прослушивать мой конкретный номер, но всегда возвращают нулевые результаты. Никакие процессы не слушают мой порт.
Я также пытался использовать это, но ноль результатов.
netstat -aon | найти ":80"
Я также пытался использовать, но также возвращал нулевые результаты.
netstat -ao | найтиstr
Похоже, установка компонента IIS помогает
В моем случае самое простое решение (и то, что работает постоянно) — попробовать установить компонент IIS из Windows 10 (например, FTP-сервер). Это можно сделать, перейдя в Control panel -> Program & features -> Turn Windows features On or Off , а затем включив компонент IIS.
Как ни странно, хотя ошибка связана с веб-сервером IIS Express (а не с IIS), установка дополнительного компонента IIS явно что-то меняет в системе. После этого система снова становится работоспособной.
Я перепробовал миллион вещей, и мне не показалось, что порт был каким-то образом зарезервирован другим приложением, и не было похоже, что это какая-то проблема с брандмауэром.
Я заметил, что эта проблема возникает при установке или открытии сетевых приложений. Примерами этого были обновление моего приложения Docker Desktop, установка VMWare Workstation, действия Hyper-V (например, запуск виртуальной машины) и т. д. Я не указал точную причину, но знаю, что они каким-то образом связаны.
Мой сайт работал нормально, а затем начал получать эту ошибку без причины. У меня было открыто много вещей (включая несколько проектов VS), и я не хотел перезагружаться. Я также не хотел тратить время ни на одно из этих решений, поэтому я просто изменил номер порта в URL-адресе проекта в свойствах проекта. мгновенный успех.
Кое-что, что я заметил, и я не знаю, является ли это проблемой:
Ссылочный файл «lib/jquery-validation/jquery.validate.js» не найден.
У меня есть дамп с rawcap, но я ничего там не замечаю. Кое-что из того, что там было:
Я не замечаю проблемы, но у меня есть сетевые данные, если они могут помочь понять, почему я не могу подключиться к веб-серверу. Я немедленно получаю RST,ACK , так что я предполагаю, что порт закрыт, и чем бы ни был этот веб-сервер, он не настраивается.
Попробуйте, когда вы открываете визуальную студию, щелкните правой кнопкой мыши и откройте как администратор.
Это случается время от времени после того, как абсолютно ничего не изменилось. Проблема существует уже некоторое время, и MSFT до сих пор не решила ее. Ненавижу их за это и их поддержка отстой. Ввернуть их.
После установки обновления 2 для Visual Studio 2015 я начал получать ту же ошибку. Я пробовал все вышеперечисленное без везения. Однако я нашел решение, которое работает для меня:
- Удалить файл YourSolutionFolder\\.vs\config\applicationhost.config (примечание: .vs — это скрытая папка)
- Откройте Visual Studio, щелкните правой кнопкой мыши веб-сайт > Свойства > вкладка Отладка > Параметры веб-сервера > URL-адрес приложения — измените номер порта.
Если вы настроили IIS на использование одного и того же порта (остановите приложение/используйте другой порт) и повторите попытку.
Для проекта Net Core 2.2. После МАССИВНОЙ борьбы и попыток всего, начиная с удаления папки .vs, удаления конфигураций IIS Express, изменения номеров портов, изменения привязок и запуска VS в качестве администратора, я НАКОНЕЦ исправил проблему, 1. закрыв VS, 2. удалив launchSettings.json 3. Открытие VS, который перегенерировал launchSettings.json . Не было очевидно, что файл был поврежден или неверен, или даже когда он изменился, чтобы вызвать сбой.
Любой, кто использует подход @QuintonSmith к удалению launchSettings.json , который находится в папке
Попробуйте использовать другой порт. Я только что создал новый проект Core 1.0 RC1 и получил ту же ошибку.
- Щелкните правой кнопкой мыши веб-проект
- Вкладка "Отладка"
- Выключите и снова включите Enable SSL, он должен сгенерировать новый случайный порт.
- Скопируйте URL-адрес SSL и вставьте его в поле URL-адрес запуска.
- Запустить проект
Работал для меня (ТМ).
- Удалите папку .vs (это скрытая папка).
- Перезагрузить компьютер.
- Закройте Visual Studio, удалите папки bin и obj из папки проекта. Откройте проект, затем перестройте решение.
- Попробуйте запустить Visual Studio от имени администратора.
- Очистите решение, затем перестройте
- Чистое решение. 2) Выйдите из Visual Studio. 3) удалить папку .vs 4) повторно открыть Visual Studio
- Перезагрузите компьютер (если вы можете себе это позволить)
Да, это работает для некоторых, но не в моем случае. Не знаю, почему это не сработало. Единственное, что я сделал, это перезагрузил мой компьютер.
Получил это после синего экрана. Пришлось удалить папку .vs и перезагрузить компьютер. Перезапуска Visual Studio было недостаточно.
Я смог решить проблему в два этапа:
- ШАГ 1: УДАЛИТЕ папку .vs, которая скрыта внутри основной папки решения. (перед этим закройте визуальную студию), затем, когда вы снова запустите визуальную студию, эта папка и файл (applicationhost.config) внутри нее будут автоматически созданы визуальной студией.
- ШАГ 2: Для проектов с несколькими запусками, если вы все еще сталкиваетесь с проблемой, запустите проект один за другим как запуск, а затем запустите как проект с несколькими запусками.
Скопировал мой комментарий в ответ по запросу.
Для проекта Net Core 2.2. После МАССИВНОЙ борьбы и попыток всего, от удаления папки .vs, удаления конфигураций IIS Express, изменения номеров портов, изменения привязок и до запуска VS в качестве администратора, я НАКОНЕЦ исправил проблему.
- закрытие ВС,
- удаление launchSettings.json
- открытие VS, который повторно сгенерировал launchSettings.json.
Не было очевидно, что файл был поврежден или неверен, или даже когда он изменился, чтобы вызвать сбой.
У меня была такая же проблема, я смог решить ее, изменив номер порта.
Щелкните правой кнопкой мыши проект и выберите свойства.
Перейдите в раздел отладки
В настройках веб-сервера измените порт URL-адреса приложения [просто увеличьте на единицу :)]
Это не решение, а обходной путь. В вашем ответе предлагается использовать другой сервер - Kestrel - в то время как OP явно пытается заставить IIS-Express работать.
По сути, вы создаете два экспресс-экземпляра IIS вашего приложения на одном и том же порту, поэтому изменение одного из портов в вашем файле applicationhost.config позволит вам продолжить. Однако есть два разных файла applicationhost.config. Вы захотите выбрать тот, у которого есть IP-адрес и порт привязки, которые вы видите в свойствах вашего проекта.
Перейдите в папку, где вы можете увидеть свое решение проекта и папки проекта (показать скрытые элементы в проводнике). Перейдите в свою скрытую папку .vs -> папку «YourAppName» -> config. Он должен содержать информацию о привязке, которую вы видели в свойствах вашего проекта.
Измените один из этих номеров портов на что-то отличное от «7000», чтобы вы не пытались использовать один и тот же порт.
В моем случае я использую адрес 192, который не является адресом локального хоста, поэтому мне нужно использовать некоторые команды netsh, чтобы открыть этот порт и установить IP-адрес. Вот Ссылка это показывает, как открыть порты для IIS Express, чтобы разрешить удаленное подключение. Запуск от имени обычного пользователя не будет работать, если вы не запустите перечисленные команды netsh.
Вот команды netsh:
- netsh http add urlacl url=http://192.168.1.42:58938/ user=все
- netsh advfirewall firewall добавить имя правила = "IISExpressWeb" dir = in protocol = tcp localport = 58938 profile = private remoteip = localsubnet action = allow
Скопируйте эти команды и запустите их в cmd с правами ADMIN и с ВАШИМ IP-адресом и номером порта.
Хотя решение открывается. Кроме того, когда я пытаюсь запустить его из меню отладки, я получаю следующую ошибку:
и я не могу отладить код. как избавиться от этих ошибок и отладить / запустить веб-сайт с VS 2012?
@Robel, я вижу, что в свойствах сайта, на вкладке приложения, целевой фреймворк равен 4.5, а на веб-вкладке Start Action is Current Page. я должен изменить URL проекта на localhost: 44300 ? Я использую IIS Express 8
Мне удалось решить эту проблему следующим образом - 1) Visual Studio - Параметры -> Поиск - IIS 2) Установите флажок «Использовать 64-разрядную версию IIS Express для веб-сайтов и проектов».
У меня была точно такая же проблема.
Причина - плохой конфигурационный файл IIS.
Попробуйте удалить автоматически созданную IISExpress папку, которая обычно находится %userprofile%/Documents , например, в C:\Users\[you]\Documents\IISExpress .
Не волнуйтесь, VS должен создать его снова - правильно, на этот раз - как только вы снова запустите свое решение.
РЕДАКТИРОВАТЬ: Командная строка для удаления папки:
Это сработало для меня. Даже после удаления и переустановки IIS Express 8 он сохранил тот же файл конфигурации, поэтому моя проблема осталась. Я переименовал папку IISExpress во что-то другое, и была создана новая папка с чистой версией файла конфигурации.
@CoreyOgburn должен находиться в папке «Документы» и IISExpress (например, C: \ Users \ Corey \ Documents \ IISExpress \ Config) и удалить папку конфигурации. У меня та же проблема, но это не помогло мне.
У @crokusek есть ответ для обновления 3 VS2015. Перейдите в папку «.vs \ config» в каталоге решений и удалите там файл «applicationhost.config».
Если используется VS2015 или выше
Убедитесь, что процесс iisexpress не запущен.
Убедитесь, что другой процесс не использует нужный порт. Вы можете сделать это, выполнив
в консоли (как администратор, введите cmd в меню «Пуск», щелкните правой кнопкой мыши и выберите «Запуск от имени администратора»). Если вы видите запись, состояние которой ESTABLISHED или LISTENING, например, это означает, что какой-то другой процесс использует этот порт. Вам нужно будет прекратить этот процесс или изменить порт.
Затем удалите следующий файл
обратите внимание, что .vs папка может быть скрыта
после этого и попытки запустить приложение вы можете получить
Затем перейдите в -> Web и нажмите кнопку "Создать виртуальный каталог"
Обычно я живу в мире OWIN / NancyFx, поэтому, когда мне пришлось сделать проект Web API после перерыва, я был озадачен, пока не увидел этот ответ. - Приятно знать этот факт - спасибо .
@roblll понял это правильно. Но для тех из вас, кто не хотел искать ответ, вот он:
- Закройте Visual Studio (возможно, нет необходимости, но это не повредит).
- Перейдите в папку «Документы». Это где мой каталог конфигурации IISExpress.
- В папке config есть файл, который называется хостом приложения. Открой это.
- Поиск по названию вашего проекта. Он должен был быть добавлен туда Visual Studio, когда он бомбил в ваших предыдущих попытках.
Имейте в виду, что Visual Studio мог предоставить другие порты, чем вы ожидали. Просто убедитесь, что порты в привязке соответствуют тому, что находится на вкладке Web свойств вашего проекта.
У меня была та же проблема, но решение, которое работало для меня, было другим.
- В VS2013 открыт свойства отладки>
- Выберите вкладку «Интернет».
- В разделе «Серверы» я обнаружил «Переопределить корневой URL-адрес приложения». Я снял флажок и сохранил.
Это было все, что мне нужно, чтобы все заработало.
Я рекомендую сначала попробовать это решение. Установка флажка с неверным URL создаст ошибку, упомянутую в вопросе.
Та же проблема, но необходимо запустить VS2013 в режиме администратора .
Читайте также: