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

<p>после установки visual studio 2012 и открытия моего решения я получаю ряд ошибок в этой форме:</p><blockquote> <p>проект веб-приложения foo настроен на использование iis.<br> невозможно получить доступ к метабазе iis. у вас недостаточно прав для доступа к веб-сайтам iis на вашем компьютере.</p> </blockquote><p>я получаю это для каждого из наших веб-приложений. вещи, которые я пробовал:</p><ol> <li>запуск visual studio от имени администратора </li> <li>запуск aspnet\_regiis.exe -ga myusername </li> <li>запуск aspnet\_regiis.exe -i</li> </ol><p>похоже, что это общие решения для этой проблемы, но я не имел никакого успеха с ними. есть ли что-нибудь еще, что я могу попробовать сделать? </p>

<p><strong> спасибо всем, кто ответил. </strong>так как это было закрыто в течение долгого времени, я не мог дать много обратной связи, но в конце концов я решил свою проблему. я попробовал многие из этих других решений, и они не решили мою проблему, но я уверен, что они помогают, когда основная причина другая.</p><p><strong> мое решение </strong></p><p>я решил эту проблему, отключив функции iis и .net framework в windows 7, а затем снова включив их. кажется, что эта переустановка - то, что исправило мою проблему. я до сих пор не знаю, что вызвало проблему, но по крайней мере еще у одного разработчика в моей команде была такая же проблема.</p>

<p>вкл<strong> windows 8 pro </strong>: </p><pre><code>%systemroot%\inetsrv\config </code></pre><p>на<strong> windows 7 и 8.1 и 10 </strong></p><pre><code>%systemroot%\system32\inetsrv\config </code></pre><p>(где <code>%systemroot%</code> обычно <code>c:\windows</code>)</p><p>перейдите в соответствующее расположение выше в проводнике windows. вам будет заблокирован доступ с помощью всплывающего окна, которое говорит:</p><blockquote> <p>«у вас нет доступа к этой папке - нажмите« продолжить », чтобы навсегда получить доступ к этой папке» </p> </blockquote><p>нажмите «продолжить» для этой папки, и под ней находится папка «экспорт». я изменил ярлык обратно на «запуск от имени» (член домена и локальные администраторы) и смог открыть и развернуть решение.</p>

<p>я думаю, что вы не используете visual studio с правами администратора. посмотри что:</p><p> <a href="http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx">http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx</a> </p><p>цитировать</p><blockquote> <p>решение этой проблемы простое: запустите visual studio с помощью команды «запуск от имени администратор». вы можете сделать это, щелкнув правой кнопкой мыши по ярлыку и выбрав «запуск от имени администратора».</p> </blockquote>

<p>я думаю, что мы столкнулись с подобной проблемой на работе. для нас решение заключалось в том, чтобы перейти в панель управления -> программы и компоненты -> включить или отключить функции windows ... внутри нее мы должны были выбрать информационные службы интернета -> инструменты веб-управления -> iis 6 совместимость управления -> iis метабаза и iis 6 совместимость конфигурации . <a href="https://i.stack.imgur.com/pa800.png"> <img src="https://i.stack.imgur.com/pa800.png" alt="windows features dialog showing iis metabase option"> </a> </p><p>попробуйте и дайте мне знать, если это поможет!</p><p>примечание. мы запускаем iis 7.5 в windows 7, используя и visual studio 2005, и 2010, и работаем с веб-сервисами супер-старой школы (.asmx) ...</p>

<p>я решил эту проблему, предоставив iis права доступа apppool для <code>%systemroot%\inetsrv\config</code></p>

<p>если вы работаете над проектом, который не требует использования iis, то для обхода решения, связанного с этой ошибкой, нужно просто щелкнуть правой кнопкой мыши на незагруженном проекте и нажать «изменить», выполнить поиск:</p><pre><code><projectextensions> <visualstudio> <flavorproperties guid=""> <webprojectproperties> <useiis>true</useiis> </webprojectproperties> </flavorproperties> </visualstudio> </projectextensions> </project> </code></pre><p>и установите useiis в false</p><pre><code><useiis>false</useiis> </code></pre><p>перезагрузите проект, щелкнув его правой кнопкой мыши после сохранения изменений.</p>

<p>у меня было два отдельных типа проблем, которые привели к этой ошибке, и я решил поделиться ...</p><pre><code>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... </code></pre><p>оба они происходят из-за неудачного (imo) выбора ms поместить вещи в каталог documents или my document, в сочетании с очень паршивыми сообщениями об ошибках. в обоих вышеупомянутых случаях фундаментальная проблема заключалась в том, что <a href="https://stackoverflow.com/questions/12946476/where-is-the-iis-express-configuration-metabase-file-found">файл iisexpress config</a> помещается в мои документы, и он либо не существует, либо недоступен.</p>

<p>у меня была эта проблема - симптомы были такими же, но проблема заключалась в том, что я установил папку «мои документы» в общий сетевой ресурс, а общий ресурс был недоступен. </p><p>основная проблема заключалась в том, что файлы конфигурации iis, расположенные в% userprofile%\documents, недоступны. как только я изменил расположение папки «мои документы» (я изменил значение reg), она снова начала работать.</p><p>я знаю, что это может быть не обычный сценарий, с которым вы можете столкнуться, но я разместил его здесь, потому что он дает те же симптомы.</p>

<p>на windows 81, из командной строки администратора, используйте: </p><pre><code>icacls "c:\windows\system32\inetsrv\config" /t /grant "iis apppool\defaultapppool":(r) </code></pre><p>затем вернитесь в vs, щелкните правой кнопкой мыши на неудачном проекте и выберите «обновить».</p><p>благодарим за: <a href="https://stackoverflow.com/questions/7334216/iis7-permissions-overview-applicationpoolidentity">обзор разрешений iis7 - applicationpoolidentity</a> </p>

<p>переход к папке: <code>%systemroot%\system32\inetsrv\config</code> представляет диалоговое окно безопасности. нажмите продолжить, и это может решить проблему. это работало на двух отдельных машинах win 10/vs 2017/iis.</p>

<p>вы можете столкнуться с этой проблемой и иметь ту же проблему, что и я. я «решил» это до того, как отключилось питание, и компьютер вышел из строя, не уверенный, почему параметр <strong>registry</strong> был отменен, но это <strong>source</strong> моей проблемы.</p><ol> <li>я пытался все работает в качестве администратора</li> <li>все iis/iis экспресс-переустановки. </li> <li>различные "хаки"</li> </ol><p>дошло до того, что пришлось снова исправлять реестр.</p><ol> <li><p>не может как администратор даже открыть regedit (необходим доступ к реестру, поскольку проблема не в шаблоне администратора gpedit.msc) </p></li> <li><p>unhookexec.inf на рабочем столе </p></li> </ol><p>просто сохраните unhookexec.inf и установите его, щелкнув правой кнопкой мыши и выбрав «установить». при установке файла не будет отображаться всплывающее окно или окно с уведомлением . <a href="http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html">http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html</a> </p><ol start="3"> <li><strong>hkey\_current\_user\software\microsoft\windows\currentversion\explorer\папки оболочки пользователя\personal</strong>, указывающие на несуществующий файловый ресурс. изменение этого в локальном пути решило эту проблему для меня. - паси саволайнен 14 июля '14 в 8:41</li> </ol><p>(изменено с <code>\\cs2data\home\stickelt\my documents</code> на <code>c:\dev</code>)</p><p>теперь <strong>all - это хорошо</strong>, и visual studio открыла решение с 15 проектами и подключается к iis и не жалуется на невозможность доступа к метаданным iis.</p><p>я никогда не сталкивался с этим раньше, так как никто на текущей работе не имел этой проблемы (многие были здесь долгое время, некоторые получали клоны других машин, которые «работали», и многие находятся в другом домене и т.д.) </p>

<p>я столкнулся с этим сегодня и исправил проблему, удалив iisurl из файла проекта:</p><ol> <li>щелкните правой кнопкой мыши проект</li> <li>нажмите редактировать</li> <li><p>удалить следующую строку:</p> <pre><code> <iisurl>http://localhost:xxxxx </iisurl> </code></pre></li> <li><p>перезагрузить проект</p></li> <li>теперь добавьте новый виртуальный каталог iis, щелкнув правой кнопкой мыши project> properties> web и выбрав use local iis web server (снимите флажок use iis express) и нажав кнопку create virtual directory.</li> </ol>

<p>у меня только что была эта проблема сегодня, и я обнаружил, что я не открыл vs как «запуск от имени администратора» ... после этого я смог опубликовать службу.</p>

<p>если у вас есть права администратора, щелкните правой кнопкой мыши значок visual studio> свойства, а затем выберите пункт «запуск от имени администратора» . вы можете запускать visaul studio непосредственно от имени администратора . таким образом, формально и так просто.</p>

<p>изменение этого ключа сработало для меня:</p><p>hkey\_current\_user\программное обеспечение\microsoft\windows\currentversion\explorer\папки оболочки пользователя\личные</p><p>местоположение не существовало.</p>

<p>в дополнение к <a href="https://stackoverflow.com/a/18072703/1412975">answer</a> от @nologo мне также пришлось использовать iis. так что я изменил </p><pre><code><useiis>true</useiis> </code></pre><p>сначала «ложь».</p><ul> <li>открыл решение и убедился, что проект может быть загружен.</li> <li>близкое решение и тот экземпляр visual studio</li> <li>измените значение на «true» еще раз</li> <li>откройте решение . на этот раз я не получил сообщение об ошибке/предупреждение. я также мог без проблем работать с ctrl + f5 или f5, пока мой проект был связан с веб-сайтом iis.</li> </ul>

<p>перейдите в корневой каталог вашего проекта и найдите следующий файл: <br /><br /> <strong> yourprojectname.csproj.user </strong>- внутри него убедитесь, что для <em>useiisexpress</em> установлено значение<strong> false </strong>:</p><pre><code><useiisexpress>false</useiisexpress> </code></pre><p><br /></p><p>если это не помогает, попробуйте следующее и попробуйте снова:</p><p><strong> yourprojectname.csproj </strong>- внутри основного файла проекта убедитесь, что для обоих <em>useiis</em> и <em>useiisexpress</em> установлено значение<strong> false </strong>:</p><pre><code><useiis>true</useiis> <useiisexpress>false</useiisexpress> </code></pre><p><br /> после изменения я смог загрузить проект снова.</p><p><strong> примечание: </strong>убедитесь, что вы используете vs как администратор, как указано в других ответах.</p>

<p>у меня тоже была похожая проблема. мое решение - это расширение ответа «запуск от имени администратора», которое, я надеюсь, кому-то может пригодиться.</p><p>я запускал vs2012 и почти каждый раз, когда мне приходилось делать щелчок правой кнопкой мыши, запуск от имени администратора. я устал от этого, поэтому вместо этого я вошел в его свойства на ярлыке, нажал кнопку «дополнительно», а затем выбрал «запуск от имени администратора». теперь vs2012 всегда запускается как администратор, когда я открываю его<strong> из этого ярлыка </strong>.</p><p>немного важен бит из этого ярлыка. я продолжил ветвить свой проект и загрузить ветку в новую локальную папку. затем, когда я открыл его из ярлыка, у меня не было проблем. но если я зашел прямо в папку и запустил проект локально<strong> без ярлыка, он не запустился </strong>запустился от имени администратора, и я получил эту ошибку.</p><p>как только я сначала открыл vs2012, как обычно, затем с помощью file/open/project, он снова работал без проблем. (потому что я работал в качестве администратора). но я не был администратором, когда открыл решение с помощью файлового менеджера windows.</p><p>другие предложения кажутся несколько экстремальными, но это довольно просто, поэтому я бы попробовал сначала попробовать.</p><p>надеюсь, это было полезно.</p>

<p>это похоже на один из тех ошибок типа «все ошибки приводят к этому сообщению». </p><p>моим было то, что app pool был просто выключен. я снова включил, и все работало нормально.</p>

<p>я перепробовал все выше. кредит относится ко всем ответам выше. перепробовав все предложения самостоятельно, я просто собрал эту комбинацию предложений в порядке, который имел для меня смысл. обратите внимание, что моя папка «документы» находится на общем диске. материал subst/iisexpress не применим, если вы не в одной лодке.</p><ul> <li>настройте vs для запуска от имени администратора</li> <li>удалите iis через «установка и удаление программ», «функции windows».</li> <li>перезагружать</li> <li>запустите winrar или что-то похожее на admin и архив <code>c:\windows\system32\inetsrv\</code></li> <li>запустите cmd от имени администратора и <code>rmdir /s c:\windows\system32\inetsrv\</code>, чтобы полностью удалить все следы последней установки. оставьте поднятым cmd подсказка открыта на потом.</li> <li>переустановите iis с iis 6 совместимостью с метабазой (сомневаюсь, что это было необходимо)</li> <li>оставьте default apppool и default website как есть (ранее я удалил оба)</li> <li>ран <code>c:\windows\microsoft.net\framework64\v4.0.30319\aspnet\_regiis.exe -ga mydomain\scottt732</code></li> <li>ран <code>c:\windows\microsoft.net\framework64\v4.0.30319\aspnet\_regiis.exe -i</code></li> </ul><p>кроме того, поскольку папка «мои документы» находится на общем диске, у меня были iis проблемы express. я не использую/не люблю iis express, но visual studio пожаловалась на это.</p><ul> <li>с повышенного уровня cmd prompt, запустил <code>subst u: c:\temp</code>. создал <code>c:\temp\documents\</code> и скопировал папку iisexpress с моего диска u.</li> <li>создан <code>customuserhome</code> ключ в <code>hkcu\software\microsoft\iisexpress</code> с <code>c:\temp\documents\iisexpress</code></li> <li>это позволило мне заставить visual studio открывать мои веб-проекты и редактировать свойства. я настроил проекты для сохранения настроек веб-сервера в пользовательском файле и настроил его для использования пользовательского url (не уверен, если это было необходимо)</li> <li>я могу/не могу запускать команду <code>subst</code> при каждом перезапуске. не волнует.</li> </ul><p>и после трехкратного добавления полотенца и примерно шести часов я могу открывать веб-проекты в visual studio (обновление 2, 2015 г.). </p>

<p>еще одна вещь, которую вы можете попробовать:</p><ul> <li>проверьте, есть ли у вас ожидающие обновления windows. </li> <li>если вы это сделаете, пожалуйста, перезагрузите компьютер, прежде чем пытаться что-либо еще.</li> </ul><p>я, как правило, никогда не выключал свою машину, поэтому у меня их было много в ожидании перезагрузки. и это исправило это.</p>

<p>я выполнил ремонт visual studio 2015, чтобы решить эту проблему…. ремонт занял много времени, но он решил проблему, в то время как выполнение большей части вышеперечисленного не помогло. я бегу win 7 предприятия. </p>

<p>откройте командную строку visual studio и введите ниже команду и запустите</p><pre><code>aspnet\_regiis -ga machinename\aspnet </code></pre><p>после выполнения вышеуказанной команды сбросьте <code>iis</code> и протестируйте приложение, которое решает вашу проблему.</p><p>если приведенная выше команда не решает вашу проблему, попробуйте запустить приведенную ниже команду в <code>visual studio command prompt:-</code></p><pre><code>aspnet\_regiis -i </code></pre><p>в качестве альтернативы мы можем запустить команду выше из нашей командной строки windows также</p><p>перейдите в меню «пуск» и откройте «выполнить», введите и нажмите <code>ok</code></p><pre><code>%windir%\microsoft.net\framework\v2.0.50727\aspnet\_regiis.exe –i </code></pre><p>после этого перезагрузите iis и протестируйте приложение, которое решает вашу проблему</p>

<p>у меня была такая же проблема со мной сегодня. и я нашел это раздражающим. хотя у меня есть два других веб-сайта, которые уже разрабатываются с того же iis, но я все еще не смог создать новый сайт. странно, но я сделал это.</p><ul> <li>удалить сайт из iis</li> <li>создать новый сайт, дать ему имя "новый\_сайт"</li> <li>выберите пул приложений, отличный от имени самого сайта. так что не стоит портить настройки по умолчанию.</li> <li>оставьте ip "неназначенным", если вы используете его с той же машины</li> <li>дать ему какой-то неиспользуемый порт</li> <li>запустите visual studio как «запуск от имени администратора», щелкнув правой кнопкой мыши на ярлыке исполняемого файла vs. </li> <li>вы сделали!</li> </ul><p>вам не нужно выключать/переустанавливать что-либо, кроме того, что я указал, так как это работает.</p><p>дайте мне знать, если у кого-то была такая же проблема, как у меня, и она решалась таким же образом. я думаю, что это была не проблема, а неправильный способ создания веб-сайта на локальном хосте, который visual studio отказывается открывать.</p><p>я надеюсь, что это поможет новичкам. </p>

<p>у меня была такая же проблема после добавления функции из <a href="https://stackoverflow.com/questions/12859891/error-unable-to-access-the-iis-metabase/12860348#12860348">этой ссылки</a> после того как я следовал <a href="http://www.ryadel.com/en/unable-to-access-the-iis-metabase-error-and-how-to-fix-it/">этой статьи</a> проблема исчезла.</p>

<ol> <li>создать ярлык для "devenv.exe"</li> <li>выберите опцию «запуск от имени администратора» для ярлыка</li> <li>нажмите на ярлык и снова откройте ваш проект</li> </ol>

<p>у меня такая же проблема. для меня это было то, что я использовал те же документы, что и в предыдущей установке windows. простое удаление папки iisexpress из моих документов сделало свое дело.</p>

<p><strong> iis express users - использование моих документов в общей сетевой папке </strong></p><p>если ваш iis express <code>application.config</code> находится на сетевом диске, убедитесь, что диск подключен и подключен в «мой компьютер».</p><p>я столкнулся с этой проблемой, и когда я повторно подключил сетевые диски в мой компьютер, проблема была решена.</p>

<p>команда запуска: </p><pre><code>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 </code></pre>

<p>в моем случае единственное, что мне помогло, - это переустановить (или починить проще) iis 10.0 express</p>

<p>у меня была похожая проблема. visual studio не загружала веб-проекты и показала ошибку: не удалось создать виртуальный каталог <myproj: myport>. невозможно получить доступ к метабазе iis.</p><p>в моем случае именно iisexpress был в корне проблемы. щелкните правой кнопкой мыши iis express в разделе «программы и компоненты» на панели управления и выберите пункт «исправить», чтобы устранить проблему менее чем за две минуты.</p>

<p>вы можете решить эту проблему, фактически сняв флажок с iis инструментов в вашем списке функций windows. затем восстановите установку visual studio 2013 и убедитесь, что веб-разработчик проверен. он установит iis 8, с которым vs будет работать хорошо.</p>

<p>я использую win 8 pro и vs 2013 . попробовав все на этой странице ... я просто переустановил iis express 8 и теперь все работает нормально (даже без запуска с правами администратора).</p><p>я пришел к выводу, что это довольно общая ошибка и есть несколько основных причин.</p>

<p>я испытал это на 64-битной машине с windows 10 professional, и ни один из других ответов, опубликованных здесь, не помог. это начало происходить после того, как я испытал синий экран смерти, и я обнаружил, что uac снова включился. запуск visual studio от имени администратора не был решением, так как мой источник контроля был на сетевом диске, к которому visual studio не мог получить доступ с uac. </p><p>отключение uac через gpedit устранило проблему.</p>

<p>в моем сообщении, помимо жалобы на «невозможно получить доступ к метабазе iis», также упоминается, что не может получить доступ к <code>"<iisurl>http://localhost:6416/</iisurl>"</code>. щелкните правой кнопкой мыши по проекту выгрузки, нажмите «изменить», найдите строку <code>"<iisurl>http://localhost:6416/</iisurl>"</code>, закомментируйте ее. перезагрузите и это должно работать. это связано с тем, что администратор не имеет доступа к этому адресу.</p>