it-swarm.com.ru

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

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

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

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

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

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

800
jjathman

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

Мое решение

Я решил эту проблему, отключив функции IIS и .Net Framework в Windows 7, а затем снова включив их. Кажется, что эта переустановка - то, что исправило мою проблему. Я до сих пор не знаю, что вызвало проблему, но по крайней мере еще у одного разработчика в моей команде была такая же проблема.

12
jjathman

Вкл Windows 8 Pro

%systemroot%\inetsrv\config

На Windows 7 и 8.1 и 10

%systemroot%\System32\inetsrv\config 

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

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

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

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

1403
Gordon Kenyon

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

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

Цитировать

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

243
Felipe Ardila

Я думаю, что мы столкнулись с подобной проблемой на работе. Для нас решение заключалось в том, чтобы перейти в Панель управления -> Программы и компоненты -> Включить или отключить функции Windows ... внутри нее мы должны были выбрать Информационные службы Интернета -> Инструменты веб-управления -> IIS 6 Совместимость управления -> IIS метабаза и IIS 6 совместимость конфигурации .  Windows Features dialog showing IIS Metabase option

Попробуйте и дайте мне знать, если это поможет!

Примечание. Мы запускаем IIS 7.5 в Windows 7, используя и Visual Studio 2005, и 2010, и работаем с веб-сервисами супер-старой школы (.asmx) ...

50
Jeff Bridgman

Я решил эту проблему, предоставив IIS права доступа AppPool для %systemroot%\inetsrv\config

33
hopkinsrush

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

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

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

<UseIIS>False</UseIIS>

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

28
nologo

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

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 Config помещается в Мои документы, и он либо не существует, либо недоступен.

18
jmoreno

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

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

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

12
sargeMonkey

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

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

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

Благодарим за: Обзор разрешений IIS7 - ApplicationPoolIdentity

12
lnaie

Переход к папке: %systemroot%\System32\inetsrv\config представляет диалоговое окно безопасности. Нажмите продолжить, и это может решить проблему. Это работало на двух отдельных машинах Win 10/VS 2017/IIS.

10
Jesse Mwangi

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

  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\Папки оболочки пользователя\Personal, указывающие на несуществующий файловый ресурс. Изменение этого в локальном пути решило эту проблему для меня. - Паси Саволайнен 14 июля '14 в 8:41

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

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

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

7
Tom Stickel

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

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

     <IISUrl>http://localhost:xxxxx </IISUrl>
    
  4. Перезагрузить проект

  5. Теперь добавьте новый виртуальный каталог IIS, щелкнув правой кнопкой мыши Project> Properties> Web и выбрав Use Local IIS Web Server (снимите флажок Use IIS Express) и нажав кнопку Create Virtual Directory.
7
Rushby

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

6
Saurabh Soni

Если у вас есть права администратора, щелкните правой кнопкой мыши значок Visual Studio> свойства, а затем выберите пункт «Запуск от имени администратора» . Вы можете запускать visaul Studio непосредственно от имени администратора . Таким образом, формально и так просто.

4
Ramazan Sağır

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

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

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

3
garryp

В дополнение к answer от @nologo мне также пришлось использовать IIS. Так что я изменил 

<UseIIS>True</UseIIS>

сначала «Ложь».

  • Открыл решение и убедился, что проект может быть загружен.
  • Близкое решение и тот экземпляр Visual Studio
  • Измените значение на «True» еще раз
  • Откройте решение . На этот раз я не получил сообщение об ошибке/предупреждение. Я также мог без проблем работать с Ctrl + F5 или F5, пока мой проект был связан с веб-сайтом IIS.
3
KSK

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

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

<UseIISExpress>false</UseIISExpress>


Если это не помогает, попробуйте следующее и попробуйте снова:

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

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


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

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

2
E2rdo

У меня тоже была похожая проблема. Мое решение - это расширение ответа «Запуск от имени администратора», которое, я надеюсь, кому-то может пригодиться.

Я запускал VS2012 и почти каждый раз, когда мне приходилось делать щелчок правой кнопкой мыши, запуск от имени администратора. Я устал от этого, поэтому вместо этого я вошел в его свойства на ярлыке, нажал кнопку «Дополнительно», а затем выбрал «Запуск от имени администратора». Теперь VS2012 всегда запускается как администратор, когда я открываю его из этого ярлыка .

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

Как только я сначала открыл VS2012, как обычно, затем с помощью File/Open/Project, он снова работал без проблем. (потому что я работал в качестве администратора). Но я не был администратором, когда открыл решение с помощью файлового менеджера Windows.

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

Надеюсь, это было полезно.

2
Francis Rodgers

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

Моим было то, что App Pool был просто выключен. Я снова включил, и все работало нормально.

2
Nathan Tregillus

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

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

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

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

И после трехкратного добавления полотенца и примерно шести часов я могу открывать веб-проекты в Visual Studio (обновление 2, 2015 г.). 

2
scottt732

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

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

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

2
Thomas Eyde

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

1
Kenmeister

Откройте командную строку 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 и протестируйте приложение, которое решает вашу проблему

1
user3921752

У меня была такая же проблема со мной сегодня. И я нашел это раздражающим. Хотя у меня есть два других веб-сайта, которые уже разрабатываются с того же IIS, но я все еще не смог создать новый сайт. Странно, но я сделал это.

  • Удалить сайт из IIS
  • Создать новый сайт, дать ему имя "новый_сайт"
  • Выберите Пул приложений, отличный от имени самого сайта. Так что не стоит портить настройки по умолчанию.
  • Оставьте IP "неназначенным", если вы используете его с той же машины
  • дать ему какой-то неиспользуемый порт
  • Запустите Visual Studio как «Запуск от имени администратора», щелкнув правой кнопкой мыши на ярлыке исполняемого файла VS. 
  • Вы сделали!

Вам не нужно выключать/переустанавливать что-либо, кроме того, что я указал, так как это работает.

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

Я надеюсь, что это поможет новичкам. 

1
KMX

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

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

У меня такая же проблема. Для меня это было то, что я использовал те же документы, что и в предыдущей установке Windows. Простое удаление папки IISExpress из моих документов сделало свое дело.

0
Dennis van Dalen

IIS Express Users - Использование моих документов в общей сетевой папке

Если ваш IIS Express application.config находится на сетевом диске, убедитесь, что диск подключен и подключен в «Мой компьютер».

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

0
JohnCooling

Команда запуска: 

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ga %username%
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
0
Denis Prohorchik

В моем случае единственное, что мне помогло, - это переустановить (или починить проще) IIS 10.0 Express

0
Roman Borovets

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

В моем случае именно IISExpress был в корне проблемы. Щелкните правой кнопкой мыши IIS Express в разделе «Программы и компоненты» на панели управления и выберите пункт «Исправить», чтобы устранить проблему менее чем за две минуты.

0
JGa

Вы можете решить эту проблему, фактически сняв флажок с IIS инструментов в вашем списке функций Windows. Затем восстановите установку Visual Studio 2013 и убедитесь, что Веб-разработчик проверен. Он установит IIS 8, с которым VS будет работать хорошо.

0
Ray Koopa

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

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

0
Yossi

Я испытал это на 64-битной машине с Windows 10 Professional, и ни один из других ответов, опубликованных здесь, не помог. Это начало происходить после того, как я испытал синий экран смерти, и я обнаружил, что UAC снова включился. Запуск Visual Studio от имени администратора не был решением, так как мой источник контроля был на сетевом диске, к которому Visual Studio не мог получить доступ с UAC. 

Отключение UAC через GPEDIT устранило проблему.

0
Jonathon Cowley-Thom

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

0
user2686690