¿Dónde se encuentra el archivo de configuración / metabase de IIS Express?

315

¿Dónde se puede encontrar el archivo de configuración / metabase de IIS Express?

Misterio
fuente

Respuestas:

548

El archivo de configuración se llama applicationhost.config . Se almacena aquí:

Mis documentos> IIS Express> config

generalmente, pero no siempre, uno de estos caminos funcionará

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

Actualización para VS2019
Si está utilizando Visual Studio 2019+, verifique esta ruta:

$(solutionDir)\.vs\{projectName}\config\applicationhost.config

Actualización para VS2015 (crédito: @Talon)
Si está utilizando Visual Studio 2015-2017, verifique esta ruta:

$(solutionDir)\.vs\config\applicationhost.config

En Visual Studio 2015+ también puede configurar qué archivo applicationhost.config se usa modificando la <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>configuración en el archivo del proyecto (por ejemplo: MyProject.csproj). (fuente: foro de MSDN )

Misterio
fuente
44
Los proyectos VS2015 también pueden usar el archivo de configuración global. Hay una configuración de proyecto que lo controla, que puede agregar.
Lex Li
55
Me salvas el día. Introduje algunos ASP.NET 5 (vNext) en sln, luego el proyecto web ASP.NET 4.5 no se ejecutará pero se quejará del proceso que no se ejecuta. Después de eliminar la carpeta .vs junto con $ (solutionDir) \. Vs \ config \ applicationhost.config, las cosas vuelven a funcionar. :)
ZZZ
1
Para la referencia, el comando para iniciar IIS Express, según la documentación ):, > iisexpress /config:config-file /site:site-namedonde config-filees una ruta completa a applicationhost.config. Consulte también la respuesta de @CosCallis sobre la forma más fácil de obtener este camino. site-namedebe coincidir con uno de los nombres en la <sites>sección de applicationhost.config.
Alex Fainshtein
Si desea deshabilitar los registros durante el desarrollo, busque el nodo y establezca / agregue habilitado en falso<siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
Gutek
Gracias por señalar la actualización a VS2019. Estaba migrando y me preguntaba por qué mi archivo de configuración no cambió el comportamiento de IIS Express.
Grimm
95

Desde la introducción de Visual Studio 2015, esta ubicación ha cambiado y se agrega a la raíz de su solución en la siguiente ubicación:

C:\<Path\To\Solution>\.vs\config\applicationhost.config

¡Espero que esto te ahorre algo de tiempo!

Garra
fuente
1
Después de darse cuenta de esto, parece que la configuración en la carpeta Mis documentos se usa realmente como una plantilla que se usa cuando configura un nuevo proyecto y lo ejecuta en IIS Express. Aún debe mantener el original donde vive hasta donde puedo decir, pero si desea modificar la ubicación de los registros para todos los proyectos nuevos, puede actualizar este archivo para moverlos a otro lugar
Dan Harris
90

Para VS 2015 y VS 2017 : haga clic con el botón derecho en el icono de la bandeja del sistema IIS Express (cuando ejecute la aplicación) y seleccione "Mostrar todas las aplicaciones":

Menú contextual para el icono de la bandeja del sistema IIS Express que muestra la alternativa "Mostrar todas las aplicaciones" resaltada

Luego, seleccione la aplicación relevante y haga clic en la ruta del archivo applicationhost.config:

Cuadro de diálogo que muestra el sitio web arbitrario con la ruta del archivo applicationhost.config que lo acompaña

Cos Callis
fuente
3
Debido a que esta es la respuesta que definitivamente lo llevará al camino correcto cada vez, esta debería ser la respuesta aceptada.
Lewis Cianci
@ cos-callis Con respecto a su edición, ¿el comportamiento de la bandeja del sistema IIS Express depende realmente de Visual Studio?
@ BjörnAliGöransson Al no tener un sistema VS 2013 en funcionamiento, no puedo volver atrás y comprobarlo fácilmente, pero 'sé' que esto funciona en VS 2015/17 y 'sé' que antes de 2015 la ubicación de los datos de configuración era diferente. Casi siempre me siento frustrado por las preguntas y respuestas que aparecen en una búsqueda donde la respuesta 'aceptada' es antigua y obsoleta, por lo tanto, sentí que valía la pena agregar que 'a partir de hoy' su respuesta es 'válida en 2015/17 '... no hay promesas de si será o no cierto en VS 2019 +++ :)
Cos Callis
Comprendo su punto 👍 pero creo que IIS express se lanzó con / mismo tiempo que VS 2012, antes de eso solo había Cassini - IIRC ???
Echa un vistazo a esta parte de la historia, desde 2011: abhijitjana.net/2011/08/05/… "Visual Studio 2010 SP1 proporciona una integración completa con IIS Express"
52

Para cerrar el círculo e incluir todas las versiones de Visual Studio, @Myster originalmente declaró que;

Pre Visual Studio 2015 las rutas a applicationhost.config eran:

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

La ruta de Visual Studio 2015/2017 se puede encontrar en: ( crédito: @Talon )

$(solutionDir)\.vs\config\applicationhost.config

La ruta de Visual Studio 2019 se puede encontrar en: ( crédito: @Talon )

$(solutionDir)\.vs\config\$(ProjectName)\applicationhost.config

Pero la parte que podría atraer a algunas personas es que la configuración del proyecto en el archivo .sln puede repoblar la aplicación host.config para Visual Studio 2015+ . ( crédito: @Lex Li )

Entonces, si realiza un cambio en applicationhost.config, también debe asegurarse de que sus cambios coincidan aquí:

$(solutionDir)\ProjectName.sln

Las dos configuraciones importantes deberían verse así:

Project("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}") = "ProjectName", "ProjectPath\", "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"

y

VWDPort = "Port#"

Lo importante aquí es que las dos configuraciones en .sln deben coincidir con el nombre y la información de enlace, respectivamente, en el archivo applicationhost.config si planea realizar cambios. Puede haber más lugares que vinculen estos dos archivos y los actualizaré a medida que encuentre más enlaces ya sea por comentarios o más experiencia.

Joe
fuente
2

Para Visual Studio 2019 (v16.2.4) solo pude encontrar este archivo aquí:

C: \ Usuarios \\ Documentos \ IISExpress \ config \ applicationhost.config applicationhost.config

Espero que esto ayude, ya que no pude encontrar la ubicación de la carpeta .vs como se menciona en las sugerencias anteriores.

RichieMN
fuente
Esto es equivalente a la primera sugerencia de %userprofile%\documents\iisexpress\config\applicationhost.config. Sin embargo, si ejecuta a través de Visual Studio, esperaría que use el del directorio .vs.
Myster
0

Creo que todas las respuestas aquí son relevantes, sin embargo, si, como yo, está buscando de dónde saca Visual Studio la plantilla cuando crea una nueva versión de applicationHost.config , puede buscar aquí:

C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer

Esto sucede mucho si a menudo trabaja en varias ramas del mismo proyecto y presiona 'depurar' en muchas de ellas. Hacer una edición aquí asegurará que la edición se propague a cualquier carpeta de proyecto / solución nueva que se cree.

La respuesta vino indirectamente de esta respuesta

Phil Morris
fuente