Подтвердить что ты не робот

Отладка приложения MVC в VS2012 пытается запустить IIS Express дважды

UPDATE

Я уверен, что это ошибка Visual Studio без очевидного решения. Я столкнулся с рядом людей, у которых такая же проблема. Я отправил туда ошибку с Microsoft:

http://connect.microsoft.com/VisualStudio/feedback/details/778864/vs2012-is-spawning-two-iisexpress-processes-when-attempting-to-debug

Если у вас такая же проблема, как описано ниже, пожалуйста, проголосуйте за билет с ошибкой, чтобы привлечь больше внимания.


Всякий раз, когда я пытаюсь отлаживать приложение MVC3 (или MVC4) в Visual Studio 2012, настроенное для работы в IIS express (версия 8), я получаю следующую ошибку:

enter image description here

Здесь работает кикер: IIS Express, хотя Visual Studio так не думает, и отладчик не может подключиться. Открывается лоток IIS Express, и я четко вижу, что все настроенные веб-сайты запущены:

enter image description here

Как ни странно, системный лоток IIS Express сообщает о некоторых ошибках при запуске IIS Express. Вот что он говорит:

enter image description here

Это серьезная WTF. Он сообщает, что 8080 используется процессом IIS Express - тем, который только что был запущен Visual Studio. Таким образом, Visual Studio пытается запустить IIS дважды, и, когда он, вопреки ожиданиям, не работает во второй раз, отладчик выполняет поручительство. Я должен отметить, что перед запуском конфигурации отладки в Visual Studio я абсолютно уверен, что никакие процессы IIS Express уже не выполнялись. Я использовал Process Monitor для проверки того, что Visual Studio на самом деле пытается запустить IIS Express дважды:

enter image description here

Обратите внимание, что на скриншоте выше вы можете четко видеть веб-сайты, работающие на IIS Express PID 4732. PID 4924 - это вторая неудачная попытка запуска IIS Express.

Эта проблема первоначально возникала при установке Windows 7. Я полностью переформатировал, установил новую копию VS2012 и получил ту же проблему. Я пошел дальше и переформатировал, установил Windows 8 и новую копию VS2012, и проблема не устранена.

Я создал совершенно новые проекты MVC3 и MVC4. Ничего не исправляет.

Я вырываю здесь свои волосы. Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 1

w.Brian, я следил за этим сообщением с самого начала, и у меня была такая же проблема довольно долгое время, и я только что обнаружил, что вызывает проблему для меня. Я смог воспроизвести и исправить ошибку для себя следующим образом:

Причина, по которой VS2012 запускает iis express дважды, связана с присоединением к домену и входом в учетную запись домена. Как только я вошел в полностью локальную учетную запись администратора, я смог запустить и отладить приложение MVC4 без каких-либо проблем. Это использует Windows 8 Pro, VS2012 Update 1, прикрепленный к моему домену, и никаких других программ/расширений/конфигурации. Полностью чистая установка.

Ответ 2

Привет, возможно, эти решения могут вам помочь.

  • Управление RuntimeVersion = "4.0" до "4.0.30319"

Пример:

<applicationPools>
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319″ managedPipelineMode="Integrated"     CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /><br/><br/>

ссылка: Проблема: Visual Studio 2012 > "Не удалось запустить веб-сервер IIS Express"

Под элементом/выделите строку

<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />

В элементе//закомментируйте строку

<add name="HttpLoggingModule" lockItem="true" /> 

После сохранения изменений попробуйте перезапустить iis express.



ссылка: из форума stackoverflow: Невозможно запустить веб-сервер IIS Express

Ответ 3

Щелкните правой кнопкой мыши проект MVC/* все по одному */
перейти к объектам недвижимости перейдите на веб-вкладку
вам необходимо установить флажок "Использовать локальный веб-сервер IIS"
в текстовом поле ниже убедитесь, что нет проектов с тем же портом, который в вашем случае 8080

Ответ 5

Возможно, я немного опоздаю на вечеринку - здесь мои две гроши:

a) http://saintgimp.org/2012/05/03/fixing-the-error-unable-to-launch-the-iis-express-web-server-failed-to-register-url-access-is-denied/

b) http://abhijitjana.net/2010/07/20/unable-to-start-web-site-on-iis-process-can-not-access-the-file-because-its-being-used-by-another-process-how-to-resolve/

Сводка: есть URL-адрес для текущего порта (обычно Skype)

Ответ 6

На всякий случай, у вас есть 127.0.0.1 localhost, определенный в папке /system 32/drivers/stc/hosts? Otherwize, вы можете проверить здесь, это может быть только ключ.

Приветствия

Ответ 7

У меня была такая же проблема в Windows 8 и Windows 8.1 с использованием моей учетной записи домена. В моем случае изменение пути к папке "Документы" (щелкните правой кнопкой мыши по папке "Документы" → "Свойства" → "Местоположение" ) из C:\Users\имя_пользователя\Документы в D:\Документы помогли

Ответ 8

На этой неделе я испытал эту идентичную проблему: запускается IIS Express, но VS жалуется, что он не смог запустить IIS Express, и отладка завершилась неудачно.

Я, наконец, решил проблему, применив исправление июня 2014 года к IIS Express:

Мы (моя ИТ-поддержка и я) нашли это исправление после спотыкания и после очень маловероятной проблемы. По-видимому, MS проверила ошибку в IISExpress 8.0, что приводит к ее неправильной работе, если какая-либо часть имени приложения содержит комбинацию букв "bg" (мое имя пользователя начинается с bg):

Примечание. В обновлении VS 2013 версии 4 уже содержится это исправление, и, возможно, некоторые люди имели успех, просто обновив VS 2013.

Некоторые другие ссылки, которые мы нашли относительно проблемы (вам, возможно, придется немного отскочить, чтобы найти тему):

Ответ 9

Что работало в моей ситуации, было выгрузить проект, а затем отредактировать файл csproj. Я удалил все разделы, касающиеся IIS и IISEXPRESS. Затем я перезагрузил проект и снова выбрал USE IIS EXPRESS из свойств проекта. Затем он работал.

Ответ 10

Сегодня я столкнулся с одинаковой проблемой (IISExpress пытается запустить дважды и не удается выполнить команду "Отладка в Visual Studio" ), помогая другому разработчику с сайта веб-форм. Попробовав несколько решений, мы обнаружили, что мы можем решить проблему, выполнив следующие действия:

  • Создание нового, пустого решения Visual Studio
  • Добавление "существующего сайта", указывающего на новую, пустую папку
  • Копирование содержимого существующего (нерабочего) веб-сайта в новую созданную нами папку.

Простое удаление и повторное добавление веб-сайта в исходное решение не помогло, а также не создало новое решение и не добавило обратно существующий сайт. Я могу легко запустить IISExpress из командной строки.

После выполнения сравнения файлов .SLN до и после, я считаю, что проблема кроется. Поскольку я нашел обходной путь, я не потратил много дополнительного времени на это. Очевидно, что воссоздание всего решения с нуля может быть не вариантом для крупных проектов (наш был очень маленьким), но, надеюсь, это, по крайней мере, указывает в правильном направлении.

Ответ 11

Конечно, есть два экземпляра сайта FrontEnd, но обратите внимание, что один экземпляр HTTP и другой HTTP S.

Можно получить два экземпляра, когда для параметра SSL Enabled установлено значение True в свойствах веб-сайта, а вкладка Project Url на веб-странице установлена ​​на HTTP-адрес.

Сделайте им оба HTTP (или HTTPS), и это может исправить.