Error: no se puede acceder a la metabase de IIS

Después de instalar Visual Studio 2012 y abrir mi solución, recibo una serie de errores en esta forma:

La aplicación web Project Foo está configurada para usar IIS.
No se puede acceder a la metabase de IIS. No tiene privilegios suficientes para acceder a los sitios web de IIS en su máquina.

Lo recibo para cada una de nuestras aplicaciones web. Cosas que he intentado:

  1. Ejecutando Visual Studio como administrador
  2. Ejecutando aspnet_regiis.exe -ga MyUserName
  3. Ejecutando aspnet_regiis.exe -i

Estas parecen ser soluciones comunes para este problema, pero no he tenido éxito con ellas. ¿Hay algo más que pueda intentar hacer?

En Windows 8 Pro :

%systemroot%\inetsrv\config 

En Windows 7 y 8.1 y 10

 %systemroot%\System32\inetsrv\config 

(Donde %systemroot% es usualmente C:\Windows )

Navegue a la ubicación adecuada arriba en Windows Explorer. Se le bloqueará el acceso con una ventana emergente que dice:

“No tienes acceso a esta carpeta: haz clic en continuar para tener acceso permanente a esta carpeta”

Haga clic en ‘continuar’ para esta carpeta y con la carpeta Exportar debajo. Cambié el atajo a “Ejecutar como yo” (un miembro del dominio y los administradores locales) y pude abrir e implementar la solución.

Creo que no estás ejecutando Visual Studio con permisos de administrador. Mira eso:

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

Citar

La solución a esto es simple: inicie su Visual Studio con “Ejecutar como administrador”. Puede hacer esto haciendo clic derecho en el acceso directo y seleccionando “Ejecutar como administrador”.

Creo que encontramos un problema similar en el trabajo. Para nosotros, la solución era ir al Panel de control -> Progtwigs y características -> Activar o desactivar las características de Windows … dentro de eso, teníamos que seleccionar Servicios de información de Internet -> Herramientas de administración web -> Compatibilidad de administración de IIS 6 -> IIS Metabase y la compatibilidad de configuración de IIS 6. Cuadro de diálogo de características de Windows que muestra la metabase de IIS

Pruébalo y avísame si te sirve de ayuda.

Nota: estamos ejecutando IIS 7.5 en Windows 7 usando Visual Studio 2005 y 2010 y haciendo cosas con los servicios web super-old-school (.asmx) …

Resolví este problema otorgando permisos de identidad de IIS AppPool al %systemroot%\inetsrv\config

Si está trabajando en un proyecto que no requiere el uso de IIS, entonces una solución alternativa para abrir el proyecto con este error es simplemente hacer clic con el botón derecho en el proyecto descargado y hacer clic en editar, buscar:

     True      

y establece USEIIS en falso

 False 

vuelva a cargar el proyecto haciendo clic derecho sobre él después de guardar los cambios.

He tenido dos tipos de problemas diferentes que conducen a este error, y pensé que lo compartiría …

 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... 

Ambos se derivan de una elección desafortunada (imo) por parte de MS para poner las cosas en el directorio Documentos o Mi documento, combinados con mensajes de error realmente pésimos. En los dos casos anteriores, el problema fundamental era que el archivo de configuración de IISExpress entra en Mis documentos y no existía o no se podía acceder.

Gracias a todos los que respondieron. Como esto estuvo cerrado durante mucho tiempo, no pude proporcionar muchos comentarios, pero eventualmente solucioné mi problema. Intenté muchas de estas otras soluciones y no solucionaron mi problema, pero estoy seguro de que ayudan cuando la causa raíz es diferente.

Mi solución

Resolví este problema al desactivar las características de IIS y .Net Framework en Windows 7 y luego volver a activarlas. Parece que esta reinstalación es lo que solucionó mi problema. Todavía no sé qué causó el problema, pero al menos otro desarrollador de mi equipo tenía el mismo problema.

En una ventana 81, desde un símbolo del sistema de administración, use:

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

Luego vuelva a VS, haga clic derecho en el proyecto fallido, elija Recargar.

Crédito a: Descripción general de permisos de IIS7 – ApplicationPoolIdentity

Tuve este problema: los síntomas eran los mismos, pero el problema que tuve fue que configuré la carpeta “Mis documentos” para que estuviese en un recurso compartido de red y no se pudo acceder a la acción.

El problema principal era que los archivos de configuración de IIS ubicados en% USERPROFILE% \ Documents no son accesibles. Una vez que cambié la ubicación de la carpeta “Mis documentos” (modifiqué el valor del registro), comenzó a funcionar nuevamente.

Sé que esto puede no ser un escenario común con el que te puedas encontrar, pero lo publiqué aquí porque da los mismos síntomas.

Puede encontrarse con este problema y tener el mismo problema que yo. Lo “resolví” antes y luego se interrumpió el suministro eléctrico y la computadora, no estoy seguro de por qué una configuración de registro revertió, pero es el origen de mi problema.

  1. Intenté ejecutarlo todo como administrador
  2. Todas las reinstalaciones expresas de IIS / IIS.
  3. Varios “hacks”

Se reduce a tener que arreglar el registro de nuevo.

  1. No era posible que el administrador abriera regedit (Necesita acceder al registro porque el problema no está en la plantilla de administración gpedit.msc)

  2. UnHookExec.inf en el escritorio

Simplemente guarde UnHookExec.inf e instálelo haciendo clic derecho y seleccionando instalar. La instalación del archivo no mostrará ningún cuadro emergente o de aviso. http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html

  1. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders \ Personal que apunta a un intercambio de archivos inexistente. Cambiar eso al camino local resolvió este problema para mí. – Pasi Savolainen 14 de julio de 14 a 8:41

(cambiado de \\cs2data\home\stickelt\my documents a c:\dev )

Ahora ALL es bueno y Visual Studio abrió una solución con 15 proyectos y se conecta a IIS y no se queja por no poder acceder a sus metadatos.

Nunca me había encontrado con esto antes, ya que nadie en el trabajo actual tenía este problema (muchos llevan aquí mucho tiempo, algunos tienen clones de otras máquinas que “funcionaron” y muchos están en otro dominio, etc.)

Acabo de tener este problema hoy y descubrí que no abrí VS como ‘Ejecutar como administrador’. Después de hacer esto, pude publicar el Servicio.

Hoy me encontré con esto y solucioné el problema eliminando el IISUrl del archivo de proyecto:

  1. Haga clic derecho en el proyecto
  2. Haga clic en Editar
  3. Eliminar la siguiente línea:

      http://localhost:xxxxx  
  4. Recargar proyecto

  5. Ahora agregue un nuevo directorio virtual de IIS haciendo clic con el botón derecho en Proyecto> Propiedades> Web y seleccionando Usar servidor web IIS local (desmarque Usar IIS Express) y haga clic en el botón Crear directorio virtual.

Si tiene permisos de administrador, haga clic con el botón derecho en el icono de Visual Studio> Propiedades y luego haga clic en “Ejecutar como administrador”. Ya puedes ejecutar visaul studio como administrador directamente. De esta manera, formal y tan básico.

Además de la respuesta de @nologo, también tuve que usar IIS. Así que cambié el

 True 

a ‘False’ primero.

  • Abrió la solución y se aseguró de que el proyecto se pudiera cargar.
  • Cerrar la solución y esa instancia de Visual Studio
  • Cambie el valor a ‘Verdadero’ nuevamente
  • Abra la solución. Esta vez, no recibí ningún error / advertencia. También podría ejecutar Ctrl + F5 o F5 sin ningún problema mientras mi proyecto estaba mapeado en un sitio web de IIS.

Cambiar esta clave funcionó para mí:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders \ Personal

La ubicación no existía.

Navegando a la carpeta: %systemroot%\System32\inetsrv\config presenta un cuadro de diálogo de seguridad. Haga clic en continuar y esto puede resolver el problema. Esto ha funcionado en dos máquinas Win 10 / VS 2017 / IIS separadas.

También tuve un problema similar. Mi solución es una extensión de la respuesta “Ejecutar como administrador”, que espero que alguien pueda encontrarle útil.

Estaba ejecutando VS2012 y casi todas las veces que tuve que hacer el clic derecho, ejecutar como administrador. Me cansé de esto, así que en su lugar ingresé a sus propiedades en el acceso directo, hice clic en avanzado y luego hice clic en la opción “Ejecutar como administrador”. Ahora VS2012 siempre se ejecuta como administrador cada vez que lo abro desde ese acceso directo .

El de ese acceso directo es importante. Procedí a ramificar mi proyecto y descargué la twig a una nueva carpeta local. Luego, cuando lo abrí por el atajo, no tuve ningún problema. Pero si iba directamente a la carpeta y ejecuté el proyecto localmente sin el acceso directo, no se ejecutó como administrador y obtuve este error.

Una vez que abrí VS2012 como de costumbre, primero, usar File / Open / Project funcionó nuevamente sin problemas. (porque me estaba ejecutando como administrador). Pero no estaba corriendo como administrador cuando abrí la solución usando el administrador de archivos de Windows.

Las otras sugerencias parecen un tanto extremas, pero esto es bastante simple, así que tendería a intentarlo primero.

Espero que esto haya sido útil.

Esto parece uno de esos tipos de errores “Todos los errores conducen a este mensaje”.

El mío era que el Pool de aplicaciones acababa de apagarse. Lo volví a encender y todo funcionó bien.

Una cosa más que podrías probar:

  • Verifica si tienes actualizaciones pendientes de Windows.
  • Si lo haces, reinicia antes de intentar cualquier otra cosa.

Tiendo a nunca apagar mi máquina, así que tuve muchos de ellos esperando un reinicio. Y eso lo solucionó.

Intenté todo lo de arriba. El crédito va a todas las respuestas anteriores. Habiendo probado todas las sugerencias por su cuenta, acabo de armar esta combinación de sugerencias en un orden que tenía sentido para mí. Tenga en cuenta que mi carpeta Documentos está en una unidad compartida. Las cosas subst / IISExpress no son aplicables a menos que estés en el mismo barco.

  • Configure VS para ejecutar como administrador
  • Desinstalar IIS mediante Agregar o quitar progtwigs, características de Windows
  • Reiniciar
  • Ejecute WinRAR o algo similar como administrador y archivo C:\windows\system32\inetsrv\
  • Ejecute cmd como admin y rmdir /sc:\windows\system32\inetsrv\ para eliminar por completo todos los rastros de la última instalación. Deje el prompt elevado de cmd abierto para más adelante.
  • Reinstale IIS con la compatibilidad de Metabase de IIS 6 (duda de que esto era necesario)
  • Deje la aplicación predeterminada y el sitio web predeterminado tal como están (anteriormente había eliminado los dos)
  • 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

Además, como mi carpeta Documentos está en una unidad compartida, tuve problemas con IIS Express. No uso / me gusta IIS Express, pero Visual Studio se quejó de eso.

  • Desde el indicador elevado de cmd, subst U: c:\Temp . Creado C:\Temp\Documents\ y copiado la carpeta IISExpress de mi unidad U.
  • Se creó la clave CustomUserHome en HKCU\Software\Microsoft\IISExpress con C:\Temp\Documents\IISExpress
  • Esto me permitió obtener Visual Studio para abrir mis proyectos web y editar las propiedades. Ajusté los proyectos para almacenar la configuración del servidor web en un archivo de usuario y lo ajusté para usar una URL personalizada (no estoy seguro de si era necesario)
  • Puedo / no tener que ejecutar el comando subst cada vez que reinicio. No me importa

Y después de tirar la toalla 3 veces y gastar aproximadamente ~ 6 horas, puedo abrir proyectos web en Visual Studio (Actualización 2015 2).

Vaya al directorio raíz de su proyecto y busque el siguiente archivo:

YourProjectName.csproj.user – dentro de él, asegúrese de que UseIISExpress esté configurado en falso :

 false 

Si eso solo no funciona, intente lo siguiente e intente de nuevo:

YourProjectName.csproj : dentro del archivo principal del proyecto, asegúrese de que tanto UseIIS como UseIISExpress estén configurados en falso :

 True false 

Después de cambiar estos, pude cargar el proyecto nuevamente.

Nota: asegúrese de ejecutar su VS como administrador, como se menciona en las otras respuestas.

Hoy tuve el mismo problema conmigo. Y lo encontré molesto. Aunque tengo otros dos sitios web en desarrollo desde el mismo IIS, pero aún no pude crear un nuevo sitio. Extraño, pero hice esto.

  • Eliminar el sitio de IIS
  • Crea un nuevo sitio, dale un nombre “nuevo_sitio”
  • Seleccione el grupo de aplicaciones que no sea el nombre del sitio en sí. Por lo tanto, no será un desastre con la configuración predeterminada.
  • Mantenga IP “sin asignar” si lo está ejecutando desde la misma máquina
  • darle algún puerto no utilizado
  • Ejecute Visual Studio como “Ejecutar como administrador” haciendo clic derecho en el acceso directo de VS.
  • ¡Estás listo!

No necesita apagar / reinstalar nada más de lo que he indicado, ya que funciona.

Avíseme si alguien tuvo el mismo problema que yo y lo resolvió de la misma manera. Creo que no fue el problema sino una forma incorrecta de crear un sitio web en localhost que Visual Studio rechaza abrir.

Espero que esto ayude a los novatos.

  1. Crear un acceso directo a “devenv.exe”
  2. seleccione la opción “Ejecutar como administrador” para el acceso directo
  3. doble clic en el atajo y reabra su proyecto

Tuve el mismo problema después de agregar la función desde este enlace después de seguir este artículo, el problema desapareció.

Hice una reparación de Visual Studio 2015 para resolver esto. La reparación tomó mucho tiempo, pero resolvió el problema, mientras que muchas de las anteriores no lo hicieron. Estoy ejecutando la empresa Win 7.

Abra el símbolo del sistema visual studio y escriba debajo del comando y ejecútelo

 aspnet_regiis -ga machinename\ASPNET 

Después de ejecutar el comando anterior Restablezca el IIS y pruebe la aplicación que resuelve su problema.

Si el comando anterior no resuelve su problema, intente ejecutar debajo del comando en visual studio command prompt:-

 aspnet_regiis -i 

Alternativamente, podemos ejecutar el comando por encima de nuestro indicador de comandos de Windows también

Vaya al menú Inicio y abra Ejecutar e ingrese y haga OK en OK

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

Después de eso Restablezca el IIS y pruebe la aplicación que resuelve su problema

En mi mensaje, además de quejarse sobre “No se puede acceder a la metabase de IIS”, también menciona que no se puede acceder a "http://localhost:6416/" . Haga clic derecho en el proyecto de descarga, haga clic en Editar, busque la línea "http://localhost:6416/" , "http://localhost:6416/" . Recargar y debería funcionar. Esto tiene que ver con que el administrador no tiene permiso para acceder a esa dirección.

Tuve un problema similar. Visual Studio no cargaría ningún proyecto web y mostró el error: error en la creación del directorio virtual . No se puede acceder a la metabase de IIS.

En mi caso, fue realmente IISExpress el que estaba en la raíz del problema. Al hacer clic con el botón derecho en IIS Express en Progtwigs y características en el panel de control y seleccionar reparación, se solucionó el problema en menos de dos minutos.

Estoy usando Win 8 Pro y VS 2013. Después de probar todo en esta página … Simplemente reinstalé IIS Express 8 y todo funciona bien ahora (incluso sin ejecutar como administrador).

Mi conclusión es que este es un error bastante genérico y que hay varias causas raíz.

Puede resolver este problema desmarcando realmente las herramientas de IIS en su lista de características de Windows. Luego, repare su instalación de Visual Studio 2013 y asegúrese de que Web Developer esté marcado. Instalará IIS 8 con lo que VS funcionará muy bien.