2012-07-12 27 views
26

Estoy tratando de usar IIS Express 8 para un sitio MVC en VS2012. Estoy recibiendo el siguiente error siempre que intente crear el sitio:IIS Express 8 - No se puede escribir el archivo de configuración

Filename: \?\C:\Users\xxxxxx\Documents\IISExpress\config\applicationHost.config
Error: Cannot write configuration file

¿Hay alguna manera de forzar IIS Express para utilizar una ubicación diferente para la configuración & registros de carpetas? Entiendo que puedo señalar una ubicación diferente cuando ejecuto iisexpress.exe desde la línea de comandos, pero no tengo control sobre esto cuando uso Visual Studio.

Como alternativa, ¿alguien ha recibido alguna sugerencia sobre el error? (Nota al margen: mi computadora portátil se encuentra en un entorno corporativo que tiene una encriptación estúpida en la carpeta "Documentos", sin embargo, no he tenido ningún problema con otro software que se guarde en esta ubicación. También le he dado al grupo "Todos" lleno acceso a la carpeta.)

EDITAR - Después de seguir las instrucciones en http://learn.iis.net/page.aspx/1286/iis-80-express-readme/ Todavía no puedo conseguir que esto funcione. He intentado lo siguiente:

  • Agregado HKCU de registro \ Software \ Microsoft \ IISExpress \ CustomUserHome apuntando llave de mi directorio alternativo
  • Agregado HKCU \ Software \ Microsoft \ IISExpress \ 8,0 de registro \ CustomUserHome apuntando clave para mi directorio alternativo
  • Agregado HKLM \ registro Software \ Microsoft \ IISExpress \ CustomUserHome apuntando llave de mi directorio alternativo
  • Agregado HKLM \ Software \ Microsoft \ IISExpress \ 8.0 \ CustomUserHome registro de puntero llave de mi directorio alternativo
  • Establecer la variable de entorno% IIS_USER_HOME% apuntando a mi directorio alternativo.

¿Alguna otra sugerencia?

+0

Tengo el mismo problema. Ninguna de las soluciones mencionadas aquí ha funcionado.Por el momento esto impide que nuestro equipo adopte el año 2012. – fsl

Respuesta

48

@Brad

Tuve el mismo problema ahora. Eliminar el cifrado en la carpeta IISExpress y el atributo "Solo lectura" lo resolvió. En mi empresa Documents también está encriptada, pero no creo que eliminar ese cifrado de IISExpress sea un problema de ningún tipo.

Espero que esto ayude.

+0

No tenía el conjunto de cifrado, pero tuve que eliminar el atributo "Solo lectura" Y ejecutar VS2012 como administrador. – dbruning

+1

Se eliminó el cifrado y solo se leyó. Funciona como un amuleto. ¡¡Gracias!! –

0

Agregar la entrada de registro parecía funcionar, sin embargo, el uso de variables de entorno en la entrada del registro no. En mi entorno, solo se redirige el directorio de documentos, por lo que simplemente quería mover el directorio de configuración de IIS Express un nivel al directorio% USERPROFILE%. Sin embargo, eso no funcionó. IIS Express leyó literalmente la variable de entorno y, por supuesto, no se ejecutó.

5

También estoy en un entorno corporativo con Encryption en la carpeta de los usuarios, y la eliminación del cifrado y la eliminación de los indicadores de solo lectura de todo en la carpeta IISExpress me funcionaron.

2

Para cualquier persona que esté buscando en Google esto; este podría ser el mismo problema que esto: http://connect.microsoft.com/VisualStudio/feedback/details/878812/use-iis-express-is-broken-in-vs-2012-on-windows-8-1

se puede comprobar mediante la descarga de Prcocess Monitor y ejecutarlo con un filtro para la "trayectoria" contiene "\ Documents \ IISExpress \ config" y luego tratar de cambiar el proyecto para utilizar IIS Exprimir. Si hay una entrada CreateFile con el resultado 0xC0190052 como una de las últimas entradas, este es el mismo problema.

0

Tuve el mismo problema antes, al ejecutar VisualStudio como administrador (Ejecutar como Administrtor) resolvió el problema.

0

También tuve el problema e intenté solucionarlo configurando la clave de registro en HKCU \ Software \ Microsoft que no funcionó.

El error que cometí fue utilizar HKCU porque, como no tengo permisos para editar el registro en la cuenta normal (que utilizo para ejecutar visual studio), estaba usando una cuenta administrativa. Entonces, por supuesto, HKCU fue por esa cuenta.

Así que acabo de usar HKEY_USERS \ "el SID de mi usuario normal" en su lugar y, al iniciar manualmente iisexpress.exe, creó sus archivos en la ubicación indicada. Lo que aún no funcionaba era usar iisexpress desde Visual Studio. Todavía parecía que VS no utilizó la configuración del registro en absoluto.

Finalmente, recurrí al establecimiento de una ruta de acceso no UNC para Carpetas de Shell \ Carpetas de Personal y Usuario Shell \ Personal en HKU \ "mi SID de usuario normal" \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ que funcionó.

0

C: \ Users \ xxxxxx \ Documentos \ IISExpress \ config \ applicationHost.config

Desactive la atributo de sólo lectura del archivo. Funcionó para mí

0

Recibí el mismo error pero en un contexto diferente. La apertura de un proyecto (.csproj) proporcionada por otro desarrollador regresó este error y no pudo hacer nada:

Creating of the virtual directory http://localhost:58753/
failed with the error: Filename: \?\C:\Users\xxxxx\Documents\Clients\xxx\Gen II\xxx\,vs\config\applicationhost.config Error: Cannot write configuration file

me quita el cifrado y el atributo de I/O desde el directorio que contiene los archivos del proyecto y se aplica a todas las subcarpetas y archivos. Visual Studio ahora puede leer el proyecto.

3

Tuve un mensaje de error muy similar causado por un problema completamente diferente.

El error:

C:\VS\TFS_Projects\SomeSolution\SomeProject\SomeProject.csproj : error : Creation of the virtual directory http://localhost:55063/ failed with the error: Filename: \\?\C:\VS\TFS_Projects\SomeSolution.vs\config\applicationhost.config Error: Cannot write configuration file due to insufficient permissions

Más detalles: Ni siquiera podía abrir el proyecto, como la apertura de que fracasaría.

Pude obtener los conjuntos de cambios anteriores, y en realidad abrirían bien, pero si obtuve lo último, los proyectos no se pudieron abrir.

Solución: En mi caso, resultó que cuando cambiamos los servidores de TFS, alguien había añadido la carpeta ".vs" al control de código fuente junto con todo lo demás. Bajo el cual, un desarrollador tenía su applicationhost.config configurado para ejecutar sitios en una unidad D: \, mientras que yo no tenía dicha unidad D: \ (bueno, era una unidad de DVD). Pude hacer que funcionara encontrando un conjunto de cambios anterior con el applicationhost.config no modificado y reemplazando mi archivo local. (Pude haber intentado eliminar realmente la carpeta, pero no seguí esa ruta)

Después, eliminamos la carpeta ".vs" del control de código fuente.

(pongo esta solución aquí porque es donde Google me llevó, por lo que otras personas que tienen este mensaje de error podría encontrar las soluciones anteriores no solucionan por ellos, y por lo tanto puede ser que tengan este problema.)

+0

Este parece ser mi problema, pero eliminar la carpeta .vs solo funcionó durante un día; al día siguiente, todas las estaciones nuevamente tienen el problema, pero no la carpeta .vs. No podemos abrir uno de nuestros proyectos ASP en todo el departamento. : - / – TaterJuice

Cuestiones relacionadas