Не удается запустить IIS Express

Я только что установил Visual Studio 2012 и хотел создать свое первое приложение службы WCF. Я разработчик Java, идущий в мир .NET, поэтому, пожалуйста, поймите:)

Я создал новое приложение WCF для проекта С#. Затем я ударил Debug (или F5), и я получил сообщение об ошибке:

Unable to launch IIS Express

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

Port '53234' is already being used by process 'IIS Express' (process ID '5524')

Я попытался изменить порт в свойствах проекта на вкладке "Веб", но ничего не изменил. Msgs совпадают, только номер порта изменяется.

Для меня это довольно забавно, но я не могу это исправить. Уже попытавшись сменить порты, я переустановил IIS, перезапустив Visual Studio и ПК. Ничего не работает на портах, которые я хочу использовать.

Я использую Windows 8.1 x64, Visual Studio 2012 (IIS 8).

ИЗМЕНИТЬ

В IIS есть журнал сообщений:

Failed to register URL "http://localhost:53234/" for site "WcfService1" application "/". Error description: Cannot create a file when that file already exists. (0x800700b7)
Registration completed

Ответ 1

Для меня эта проблема была вызвана неправильной конфигурацией в проекте, которая проявилась в файле applicationHost.config приложения IISExpress.

У меня были как настройки http, так и https-портов одинаковыми.

            <site name="{projectname}" id="3">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="{myPath}" />
            </application>
            <bindings>
                <binding protocol="https" bindingInformation="*:57287:localhost" />
                <binding protocol="http" bindingInformation="*:57287:localhost" />
            </bindings>
        </site>

Чтобы решить эту проблему, отредактируйте файл проекта, чтобы правильно использовать разные порты.

Другим вариантом является удаление файла applicationHost.config, Visual Studio воссоздает его, когда он запускает IISExpress. Это не решит неправильную конфигурацию проекта, но может решить конфигурацию currupt, которую я должен был сделать несколько раз.

* Примечание: * Чтобы найти файл applicationHost.config для IIS, см. этот вопрос Где найден файл конфигурации/метабазы ​​IIS Express?

Ответ 2

Я столкнулся с этим недавно, и моего решения здесь не было, поэтому я решил добавить его.

Моя проблема заключалась в том, что в netsh был добавлен urlacl, который соответствовал моей локальной привязке, вызывая это сообщение об ошибке.

Решение состоит в том, чтобы вызвать netsh http show urlacl и посмотреть, есть ли в вашем списке экспресс-привязка iis. Моя локальная привязка была для https://localhost: 44300. Итак, чтобы это исправить, мне пришлось позвонить:

netsh http delete urlacl url=https://localhost:44300/

Ответ 3

Я столкнулся с одной и той же проблемой, и я сделал следующее:

  • Перейти к Свойствам проекта → Веб
  • Измените номер порта и нажмите кнопку Создать виртуальный каталог

Теперь вы сможете запускать приложение без каких-либо ошибок.

Ответ 4

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

Я смог решить это, закрыв один экземпляр Visual Studio.

Ответ 5

Основной причиной проблемы для меня было то, что у меня был веб-сайт, работающий в Local IIS, который был привязан к тому же порту, который я пытался запустить через Visual Studio IIS Express. Запустится отладчик Visual Studio, и все будет выглядеть нормально, но никакие dll не были загружены, а график памяти представлял собой просто плоскую линию в 13 [МБ], независимо от того, что я делал на веб-сайте (на самом деле это была версия, обслуживаемая Локальный IIS).

Итак, мне просто нужно было изменить один из номеров портов.