c# - under - публикация asp.net на iis




Ошибка-невозможно получить доступ к метабазе IIS (20)

После установки Visual Studio 2012 и открытия моего решения я получаю серию ошибок в этой форме:

Проект веб-приложения Foo настроен на использование IIS.
Не удалось получить доступ к метабазе IIS. У вас недостаточно привилегий для доступа к веб-сайтам IIS на вашем компьютере.

Я получаю это для каждого из наших веб-приложений. Вещи, которые я пробовал:

  1. Запуск Visual Studio в качестве администратора
  2. Запуск aspnet_regiis.exe -ga MyUserName
  3. Запуск aspnet_regiis.exe -i

Кажется, это общие решения для этой проблемы, но я не добился успеха. Есть ли что-нибудь еще, что я могу попытаться сделать?


  1. Создайте ярлык для "devenv.exe"
  2. выберите опцию «Запуск от имени администратора» для ярлыка
  3. doble нажмите на короткую вырезку и снова откройте свой проект

В Windows 8 Pro :

%systemroot%\inetsrv\config

В Windows 7 и 8.1 и 10

%systemroot%\System32\inetsrv\config 

(Где %systemroot% обычно C:\Windows )

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

«У вас нет доступа к этой папке - нажмите« Продолжить », чтобы навсегда получить доступ к этой папке»

Нажмите «продолжить» для этой папки и папку «Экспорт» внизу. Я изменил ярлык на «Запуск от меня» (член домена и локальных администраторов) и смог открыть и развернуть решение.


В моем сообщении, помимо жалобы на «Невозможность доступа к метабазе IIS», он также упоминает, что не может получить доступ к "<IISUrl>http://localhost:6416/</IISUrl>" . Щелкните правой кнопкой мыши проект разгрузки, нажмите «Изменить», найдите строку "<IISUrl>http://localhost:6416/</IISUrl>" , прокомментируйте это. Перезагрузите, и он должен работать. Это связано с тем, что администратор не имеет разрешения на доступ к этому адресу.


В окне 81 из командной строки администратора используйте:

icacls "C:\Windows\System32\inetsrv\config" /t /grant "IIS AppPool\DefaultAppPool":(R)

Затем вернитесь в VS, щелкните правой кнопкой мыши на неудавшемся проекте, выберите «Обновить».

Кредит: Обзор разрешений IIS7 - ApplicationPoolIdentity


Вы можете столкнуться с этой проблемой и иметь ту же проблему, что и я. Я «решил» его раньше, а затем отключил питание и компьютер разбился, не уверен, почему параметр реестра вернулся, но это ИСТОЧНИК моей проблемы.

  1. Я пробовал все работает как администратор
  2. Все IIS / IIS выражают повторную установку.
  3. Различные «хаки»

Пришел к необходимости исправлять реестр снова.

  1. Невозможно, чтобы администратор даже открыл regedit (требуется доступ к реестру, поскольку проблема не в шаблоне администратора gpedit.msc)

  2. UnHookExec.inf на рабочем столе

Просто сохраните UnHookExec.inf и установите его, щелкнув правой кнопкой мыши и выбрав установку. При установке файла не будет отображаться всплывающее окно или окно с уведомлением. http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html

  1. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Папки пользовательской оболочки \ Личные, указывающие на несуществующие файлы. Изменение этой проблемы на локальном пути помогло мне решить эту проблему. - Pasi Savolainen Jul 14 '14 в 8:41

(изменено с \\cs2data\home\stickelt\my documents на c:\dev )

Теперь ВСЕ хорошо, и Visual Studio открыла решение с 15 проектами и подключилась к IIS и не жалуется на невозможность доступа к метаданным iis

Раньше я никогда не сталкивался с этим, так как никто из нынешней работы не имел этой проблемы (многие были здесь долгое время, некоторые получили клоны других машин, которые «работали», и многие из них находятся в другом домене и т. Д.)


Если вы работаете над проектом, который не требует использования IIS, тогда обходной путь, чтобы открыть проект с этой ошибкой, - это просто щелкнуть правой кнопкой мыши по выгруженному проекту и нажать «Изменить», выполните поиск:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>

и установите USEIIS в значение false

<UseIIS>False</UseIIS>

перезагрузите проект, щелкнув его правой кнопкой мыши после сохранения изменений.


Еще одна вещь, которую вы могли бы попробовать:

  • Проверьте наличие ожидающих обновлений Windows.
  • Если вы это сделаете, перезагрузитесь перед тем, как попробовать что-нибудь еще.

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


Изменение этого ключа сработало для меня:

HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Папки пользовательской оболочки \ Персональные

Место не существовало.


Откройте командную строку Visual Studio и введите команду ниже и запустите

aspnet_regiis -ga machinename\ASPNET

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

Если вышеприведенная команда не решит вашу проблему, попробуйте выполнить команду ниже в visual studio command prompt:-

aspnet_regiis -i

Кроме того, мы можем выполнить команду над командой из нашей командной строки Windows также

Перейдите в меню «Пуск» и откройте «Запуск» и введите « OK

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –I

После этого перезагрузите IIS и протестируйте приложение, которое разрешит вашу проблему.


Перейдите в корневую директорию вашего проекта и найдите следующий файл:

YourProjectName.csproj.user - внутри него убедитесь, что для параметра UseIISExpress установлено значение false :

<UseIISExpress>false</UseIISExpress>


Если это не работает, попробуйте также и повторите попытку:

YourProjectName.csproj - внутри основного файла проекта убедитесь, что для UseIIS и UseIISExpress установлено значение false :

<UseIIS>True</UseIIS>
<UseIISExpress>false</UseIISExpress>


После изменения я смог снова загрузить проект.

Примечание. Убедитесь, что вы запускаете VS в качестве администратора, как указано в других ответах.


Сегодня у меня была эта проблема, и я обнаружил, что я не открыл VS как «Запуск от имени администратора». После этого я смог опубликовать Сервис.


У меня была похожая проблема. Visual Studio не загрузила веб-проекты и не показала ошибку: создание виртуального каталога <myproj: myport> не удалось. Не удалось получить доступ к метабазе IIS.

В моем случае это был IISExpress, который был в корне проблемы. Щелкнув правой кнопкой мыши на IIS Express в программах и функциях панели управления и выбрав ремонт, исправил проблему менее чем за две минуты.


У меня была эта проблема - симптомы были одинаковыми, но проблема была в том, что я установил папку «Мои документы» на сетевом ресурсе, и этот ресурс был недоступен.

Коренная проблема заключалась в том, что файлы конфигурации IIS, расположенные в% USERPROFILE% \ Documents, недоступны. Как только я изменил папку «Мои документы» (я изменил значение reg), он снова начал работать.

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


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

1. The directory was on an network share and due to UAC restrictions, was 
   unable to be accessed -- even when running as an admin.
2. The directory was on a drive that didn't exist...

Оба из них проистекают из неудачного (imo) выбора MS, чтобы поместить вещи в каталог Documents или My Document, объединиться с действительно паршивыми сообщениями об ошибках. В обоих вышеизложенных случаях основная проблема заключалась в том, что файл конфигурации IISExpress входит в «Мои документы», и он либо не существовал, либо не мог быть доступен.


Это похоже на один из тех ошибок, которые «Все ошибки приводят к этому сообщению».

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


Я думаю, что вы не используете визуальную студию с правами администратора. Посмотрите, что:

http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx

Цитировать

Решение этого просто: запустите Visual Studio с помощью «Запуск от имени администратора». Вы можете сделать это, щелкнув правой кнопкой мыши ярлык и выбрав «Запуск от имени администратора».


Я использую Win 8 Pro и VS 2013. После того, как вы попробовали все на этой странице ... Я просто переустановил IIS Express 8, и теперь все работает нормально (даже без запуска в качестве администратора).

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


Я пробовал все выше. Кредит относится ко всем ответам выше. Пробовав все предложения самостоятельно, я только собрал эту комбинацию предложений в том порядке, который имел для меня смысл. Обратите внимание, что папка «Мои документы» находится на общем диске. Материал subst / IISExpress не применяется, если вы не находитесь в одной лодке.

  • Настройте VS для запуска в качестве администратора
  • Удаление IIS с помощью «Установка и удаление программ», «Возможности Windows»
  • перезагружать
  • Запустите WinRAR или что-то похожее на admin и archive C:\windows\system32\inetsrv\
  • Запустите cmd как admin и rmdir /sc:\windows\system32\inetsrv\ чтобы полностью удалить все следы последней установки. Оставьте повышенную подсказку cmd для открытия позже.
  • Переустановите IIS с совместимостью с IIS 6 Metabase (сомневаюсь, что это было необходимо)
  • Оставьте Default AppPool и Default Website as-is (ранее я удалил оба)
  • Ran C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ga MYDOMAIN\scottt732
  • Ran C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Кроме того, поскольку папка «Мои документы» находится на диске общего доступа, у меня были проблемы с IIS Express. Я не использую / вроде IIS Express, но Visual Studio жаловалась на это.

  • Из подсказки cmd с повышенными значениями введите subst U: c:\Temp . Создал C:\Temp\Documents\ и скопировал папку IISExpress с моего диска U.
  • Создан CustomUserHome ключ CustomUserHome в HKCU\Software\Microsoft\IISExpress с C:\Temp\Documents\IISExpress
  • Это позволило мне получить Visual Studio для открытия моих веб-проектов и редактирования свойств. Я изменил проекты для хранения настроек веб-сервера в пользовательском файле и скорректировал его для использования пользовательского URL (не уверен, что это было необходимо)
  • Я могу / не должен запускать команду subst каждый раз при перезапуске. Не волнует.

И трижды бросив полотенце 3 раза и проведя примерно ~ 6 часов, я могу открыть веб-проекты в Visual Studio (обновление до 2015 года).


Я сделал ремонт Visual Studio 2015, чтобы решить эту проблему. Ремонт занял много времени, но он решил проблему, в то время как большая часть вышесказанного не сделала этого. Я запускаю Win 7.


Я столкнулся с этим сегодня и устранил проблему, удалив IISUrl из файла проекта:

  1. Проект правой кнопки мыши
  2. Нажмите «Изменить»
  3. Удалите следующую строку:

     <IISUrl>http://localhost:xxxxx </IISUrl>
    
  4. Обновить проект

  5. Теперь добавьте новый виртуальный каталог IIS, щелкнув правой кнопкой мыши Project> Properties> Web и выбрав «Использовать локальный веб-сервер IIS» (снимите флажок «Использовать IIS Express») и нажав кнопку «Создать виртуальный каталог».




iis