Проект веб-приложения [...] настроен на использование IIS. Веб-сервер [...] не найден.

У меня есть веб-проект в моем файле решения, который "недоступен" при открытии решения. Когда я нажимаю правой кнопкой мыши на веб-проект и перезагружаю проект, я получаю следующую ошибку:

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

Я не настраивал виртуальные каталоги вручную для этого веб-приложения.

Для коллег Visual Studio предложит мне создать виртуальные каталоги, но я не получаю подсказки.

Я установил VS2010 перед установкой IIS на мою машину dev.

Вот моя установка машины разработки:

  • Windows 7 Enterprise
  • Пакет обновления 1
  • 64-разрядная ОС
  • Пакет услуг Visual Studio 2010 Enterprise 1
  • IIS версии 7.5

Ответ 1

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

Прежде всего, вам нужно убедиться, что у вас установлена ​​правильная версия ASP.Net, и что вы установили расширения IIS.

Для этого перейдите в соответствующую папку версии .net в каталоге c:\(windows)\microsoft.net\(dotnetver) \  (заменяя скопированные папки для правильных папок на вашем ПК) и запустите эту команду

aspnet_regiis.exe -i

Следующий раз, когда он запускается и заканчивается, иногда выполняется

iisreset

из командной строки помогает, иногда вам не нужно.

Затем перейдите в свой диспетчер IIS и найдите сайт localhost и выберите добавить папку. Перейдите к папке в вашем проекте, содержащей фактический проект ASP.Net, и добавьте это.

Наконец, щелкните правой кнопкой мыши по папке, которую вы добавили, и у вас должна быть опция "конвертировать в приложение" или "создать виртуальный каталог" или что-то подобное.

! Убедитесь, что виртуальная папка имеет имя "MyWebApp"!

Перезагрузите решение, и оно должно работать.

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

Удачи!

Ответ 2

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

Когда вы открываете Visual Studio и получаете сообщение об ошибке, щелкните правой кнопкой мыши проект Solution Explorer и выберите "Edit {ProjectName}.csproj"

В файле проекта измените следующую строку:
<UseIIS>True</UseIIS>
для изображения <UseIIS>False</UseIIS>
Сохраните файл.

Теперь перезагрузите проект.
Готово.

Затем вы сможете открыть свой проект. Если в этот момент вы хотите использовать IIS, просто перейдите в свойства проекта, перейдите на вкладку "Веб" и выберите вариант использования IIS. Там есть кнопка "Создать виртуальный каталог". Он может сказать вам, что вам нужно запустить Visual Studio в качестве администратора для создания этого каталога, поэтому при необходимости.

Ответ 3

Откройте папку проекта и удалите {Проект}.csproj.user, затем перезагрузите проект в Visual Studio.

Ответ 4

Отредактируйте файл .csproj или vbproj. Найти и заменить эти записи

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>

Ответ 5

Это решение сработало для меня: щелкните правой кнопкой мыши на Project, выберите edit и найдите следующий код, как показано ниже на рисунке.

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

ИЛИ ЖЕ

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

csproj screenshot

Ответ 6

для меня, я должен был удалить эти две строки из файла .csproj

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

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

РЕДАКТИРОВАТЬ: Как отметили многие пользователи, это может изменить ваш тип проекта или беспорядок с вашей программой контроля версий. Я не могу исследовать эти проблемы, так как это был школьный проект, которого у меня больше нет. Пожалуйста, будьте осторожны при попытке этого. По крайней мере сделайте копию того, что вы удаляете.

Ответ 7

В моем случае эта проблема была вызвана сломанными привязками IIS. В частности, моя привязка "http" была удалена. Воссоздание этого исправляло проблему.

Ответ 8

Попробуйте открыть Visual Studio с правами администратора. В моем случае он предоставил доступ к сайту IIS и устранил эту ошибку. Затем я смог переключить проект на использование IIS Express, который, похоже, не нуждается в привилегиях администратора.

Ответ 9

Это сработало для меня:
Сделайте так, чтобы все ваши сайты IIS указывали только на localhost (All Unassigned)

enter image description here

Ответ 10

Вы можете загрузить проект, не устанавливая значение атрибута UseIIS равным true. Просто выполните следующие шаги:

В файле mywebproject.csproj -

Удалить тег <IISUrl> http://localhost/MyWebApp/ </IISUrl> и сохраните файл. Приложение автоматически назначит ему порт по умолчанию.

Ответ 11

В моем случае я хотел перейти с http на https, поэтому я удалил http из IIS. В моем файле .csproj.user обнаружено, что у меня все еще есть:

<IISUrl>http://localhost/</IISUrl>

Поэтому я изменил его на:

<IISUrl>https://localhost/</IISUrl>

Ответ 12

Вы не поверите, что start визуальная студия как Администратор

как очевидно из сообщения

Не удалось найти веб-сервер http://localhost/MyWebApp '.

не удалось найти, потому что может it has no privileges to see it

так что просто restart визуальная студия как Администратор

Ответ 13

В моем случае я смог открыть решение в автономном режиме, просто выполнив команду:

iisreset

Ответ 14

Для вас, пользователей Win8, если вы выполните шаги в принятом ответе, консоль выплюнет сообщение, в котором говорится: "Вы не должны использовать командную строку для выполнения этой команды" (перефразируя). Вместо этого откройте "Программы и функции с помощью панели управления (или Windows + R > appwiz.cpl), нажмите" Включить или отключить функции Windows "и убедитесь, что у вас установлено следующее:

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

Это также проверит множество других параметров. Как только я установил эти функции и побежал VS2012 с повышенными разрешениями, я смог успешно запустить свое приложение.

Ответ 15

Это происходит со мной, когда я пытался открыть проект из файла .csproj, но я об этом узнал, открыв проект из VS:

Файл > Открыть > Веб-сайт

и выберите каталог, который включает мой проект.

Ответ 16

Если вы подключены через TFS, откройте файл project.csproj.user и проверьте

<UseIISExpress>false</UseIISExpress>

и измените его на true.

<UseIISExpress>true</UseIISExpress>

Ответ 17

У меня тоже была эта ошибка. Я думал, что все настроено правильно, но я узнал, что чего-то не хватает: имя хоста, которое я использовал для моего проекта, не было (пока) разрешимым.

Поскольку мое приложение определяет текущее имя клиента из имени хоста, я использовал имя узла, например clientname.mysuperapp.local для разработки. Когда я добавил имя хоста разработки в мой файл hosts, проект снова загрузился. Очевидно, я все равно должен был это сделать, но я не думал, что VS проверяет имя хоста перед загрузкой проекта.

Ответ 18

Проверьте, установлен ли IIS Express. Если IIS Express отсутствует, Visual Studio может отбросить параметр <UseIISExpress>false</UseIISExpress> и по-прежнему искать экспресс.

Ответ 19

в моем случае, убедитесь, что у вас есть веб-сайт "По умолчанию"

Ответ 20

В моем случае "Веб-сайт по умолчанию" в IIS не имел привязки для localhost на порту 80. У вас должна быть привязка для любого вашего значения в файле .csproj.

Ответ 22

В моем случае URL-адрес, указанный в файле csproj, был неправильным.

Ему нужно было префикс с www.

Я внес изменения, сохранил файл и проект загрузился нормально.

Ответ 23

Я столкнулся с этой проблемой, когда элемент <ProjectTypeGuids> в файле .csproj содержал GUID проекта unit test: {3AC096D0-A1C2-E12C-1390-A8335801FDAB}.

Удаление из него сделало загрузку проекта без проблем.

Ответ 24

Для пользователей DNN моя проблема в том, что мне нужна привязка для dnndev.me на порту 80. У меня есть несколько установок, которые выполняются на разных портах, а VS требует, чтобы этот конкретный Url существовал на порту 80 (а не 86, как у меня).