У меня есть проект веб-приложения asp.net в visual studio 2012. Когда я хочу его запустить, у меня есть следующая ошибка:
Невозможно запустить веб-сервер IIS Express: Порт "4012" используется
Эта проблема исходила из ничего. Как я могу ее решить?
У меня есть проект веб-приложения asp.net в visual studio 2012. Когда я хочу его запустить, у меня есть следующая ошибка:
Невозможно запустить веб-сервер IIS Express: Порт "4012" используется
Эта проблема исходила из ничего. Как я могу ее решить?
Из библиотеки MSDN
Visual Studio не может гарантировать, что указанный вами порт будет доступный при запуске веб-сайта файловой системы. Если порт находится в при запуске страницы Visual Studio выводит сообщение об ошибке.
Чтобы изменить порт, используемый IIS Express для запуска вашей программы, вы должны следовать процедуре, описанной в этой статье в MSDN
Как указать порт для сервера разработки
Короче, нам нужно отредактировать файл %systemdrive%:\Users\<username>\Documents\IISExpress\config
и изменить информацию привязки, найденную в этом файле, и изменить другие конфигурации для IIS Express.
Как следствие этого не так просто устранить проблему, я рекомендую закрыть приложение, которое пытается использовать этот доступ на вашем компьютере. Найдите специальные инструменты, такие как TCPView от Microsoft, которые могут помочь обнаружить приложение, которое захватило ваш порт. Часто это только браузер
У меня была аналогичная проблема в visual studio 2012:
ОШИБКА: "Не удается запустить веб-сервер IIS Express.
Не удалось зарегистрировать URL-адрес http://localhost: 1030/для приложения "MySite" для сайта "/". Ошибка Описание: процесс не может использовать файл, потому что он используется другим процессом. (0x85968574) "
REASON. Фактически, эти номера портов динамически генерируются во время выполнения. Это дозировка гарантирована. Если он приобретает какой-то другой процесс, проект не запускается. Поэтому нам нужно попробовать другой порт.
РЕШЕНИЕ. В Интернете существует множество решений, но проблема остается нерешенной. Наконец я попробовал следующее решение:
Это приводит к изменениям в конфигурационных файлах IIS и везде, где это необходимо автоматически, поэтому нам не нужно явно менять код. Эта работа для меня, надеюсь, тоже будет работать для вас.
Запустите "netstat -b" из командной строки, чтобы узнать, какое приложение использует порт 4012. Если вы убьете процесс, IIS Express сможет запустить с помощью порта 4012.
Одним из решений является удаление или удаление истории в вашем браузере. Затем перезапустите Visual Studio и запустите приложение.
Если это решение не работает, вам потребуется изменить номер порта для вашего сервера разработки (IIS Express).
Надеюсь, это поможет вам.
Убийство рабочего процесса IIS Express решает это для меня; Я столкнулся с этим, пытаясь отладить два параллельных экземпляра Visual Studio 2015 и переключение между двумя веб-решениями.
Если это постоянная проблема, то ответ Kedar на изменение решения лучше, но в крайнем случае, для обзора кода и т.д. Я предпочитаю это.
Если эта ситуация внезапная (все работает нормально, но неожиданно появляется ошибка Невозможно запустить веб-сервер IIS Express), решение, которое часто работает для меня, просто:
Работает как шарм:) Если этого не делают, попробуйте разные решения из этого потока.
PS. Я отправляю его как ответ, поэтому его можно легко найти, хотя кто-то написал его здесь где-то в комментарии.
Удалите дополнительные привязки из файла конфигурации.
запустите командную строку как администратор и введите.
1. netsh http show urlacl
вы увидите список URL-адресов, который был использован, убедитесь, что тот, который вы пытаетесь использовать в настоящее время, указан в этом списке. на следующем шаге вам необходимо удалить это резервирование.
2. netsh http delete urlacl url =/Полный URL, указанный в списке выше /
после подтверждения, перезапустите IIS
В моем случае мне пришлось сделать две вещи:
а. Удалите виртуальный каталог из этого файла:
C:\Users\<user-name>\Documents\IISExpress\config\applicationhost.config
б. запустите программу TCPView с: http://technet.microsoft.com/en-us/sysinternals/bb897437 Найдите процесс, который использует ваш порт, и "Завершить процесс".
После этого в Visual Studio откройте свойства проекта веб-приложения, выберите вкладку "Веб", нажмите кнопку "Создать виртуальный каталог", чтобы воссоздать виртуальный каталог. Запустите веб-приложение в режиме отладки.
Просто перезагрузите компьютер, это исправлено для меня.
Я также испытал эту ошибку при запуске Fiddler одновременно с Visual Studio. Выход из Fiddler и повторное выполнение приложения сделали трюк для меня.
Попробуйте выполнить следующие действия:
Просто перейдите к taskmanager → Process → iisexpress → щелкните правой кнопкой мыши → end process tree → затем вы можете создавать и запускать приложение
У меня была та же самая проблема, что OP утверждает: "Эта проблема исходила из ничего".
И я просто перезагрузил свою машину, и она снова работала. Перезапуск IIS Express не работал.
Проблема решена, выполнив следующие шаги: - Project- > Properties- > Web - Под серверами выберите локальный IIS. - Сохраните настройки и снова просмотрите
В web.csproj измените номер порта
<DevelopmentServerPort>56048</DevelopmentServerPort>
Перейдите к IIS express
cd "C:\Program Files (x86)\IIS Express\"
запустите этот
appcmd.exe list site /xml | appcmd delete site /in
Также очистите временные файлы в %temp%
и выйдите из системы или перезагрузите
Это удалит все сайты, наслаждайтесь!
Другой вариант - удалить applicationhost.config
, а также из локальной папки решения.
Visual Studio сохраняет это также в папке с именем .vs\config
в корне вашей папки решений.
Удаление или редактирование applicationhost.config
помогло мне решить эту проблему.
Удалите папку проекта .vs
и applicationhost.config
, а затем запустите свой код.
Гораздо более вероятно, чем любой из приведенных выше ответов: удалите папку IISExpress, как описано в этой статье fooobar.com/questions/30974/....
В моем случае я пробовал каждый пост, который я нашел в сети, и ничего не работает, последнее, что я сделал, это изменить параметр на проект правой кнопкой мыши/использовать визуальный студийный веб-сервер, и теперь все работает хорошо...