Where can the IIS Express configuration / metabase file be found?
8 Answers
The configuration file is called applicationhost.config. It's stored here:
My Documents > IIS Express > config
usually, but not always, one of these paths will work
%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config
Update for VS2019
If you're using Visual Studio 2019+ check this path:
$(solutionDir)\.vs\{projectName}\config\applicationhost.config
Update for VS2015 (credit: @Talon)
If you're using Visual Studio 2015-2017 check this path:
$(solutionDir)\.vs\config\applicationhost.config
In Visual Studio 2015+ you can also configure which applicationhost.config file is used by altering the <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>
setting in the project file (eg: MyProject.csproj). (source: MSDN forum)

- 17,704
- 13
- 64
- 93
-
4VS2015 projects can also use global config file. There is a project setting controlling it, which you might add. – Lex Li Oct 18 '15 at 09:57
-
5You save my day. I introduced some ASP.NET 5 (vNext) to sln, then ASP.NET 4.5 web project won't run but complain about process not run. After removing the .vs folder along with the $(solutionDir)\.vs\config\applicationhost.config, things work again. :) – ZZZ Dec 11 '15 at 04:18
-
1For the reference, the command to start IIS Express, [as per documentation](https://learn.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-from-the-command-line)): `> iisexpress /config:config-file /site:site-name`, where `config-file` is a full path to `applicationhost.config`. See also answer by @CosCallis about the easiest way to get this path. `site-name` should match one of the names in `
` section of `applicationhost.config`. – Alex Fainshtein Apr 05 '18 at 04:39 -
If you'd like to disable logs during development find the node and set/add enabled to false `
-
Thanks for pointing the update to VS2019 out. Was migrating and wondered why my config file didn't change the behaviour of IIS Express. – Grimm Jan 27 '20 at 14:13
For VS 2015 & VS 2017: Right-click the IIS Express system tray icon (when running the application), and select "Show all applications":
Then, select the relevant application and click the applicationhost.config file path:

- 5,051
- 3
- 30
- 57
-
7Because this is the answer that will definitively get you to the right path every single time, this should be the accepted answer. – Lewis Cianci Sep 24 '17 at 03:45
-
@cos-callis Regarding your edit is the IIS Express system tray behavior really dependent on Visual Studio? – Nov 02 '17 at 16:53
-
@BjörnAliGöransson Not having a VS 2013 system up and running I can't readily go back and check but I 'know' that this works on VS 2015/17 and I 'know' that in pre-2015 the location of the config data was different. As much as anything I am frequently frustrated by questions and answers that pop up on a search where the 'accepted' answer is ancient and obsolete, therefore I felt it worth adding that 'as of today' your answer is 'valid on 2015/17' ... no promises for whether or not it will be true in VS 2019+++ :) – Cos Callis Nov 02 '17 at 18:47
-
I get your point but I think that IIS express was released with/same time as VS 2012, before that there was only Cassini - IIRC??? – Nov 03 '17 at 00:30
-
Check this piece of history out, from 2011: https://abhijitjana.net/2011/08/05/multiple-url-binding-with-iis-express/ "Visual Studio 2010 SP1 provides complete integration with IIS Express" – Nov 03 '17 at 00:33
-
I've made this the accepted answer, I think it's a better answer than mine (despite my answer being my main rep earner ;-) and this answer still works in 2022 – Myster Feb 22 '22 at 22:02
Since the introduction of Visual Studio 2015, this location has changed and is added into your solution root under the following location:
C:\<Path_To_Solution>\.vs\config\applicationhost.config
I hope this saves you some time!

- 196
- 2
- 12

- 3,466
- 3
- 32
- 47
-
1After realising this it looks like the config in the My Documents folder is actually used as a template that is used when you setup a new project and run it up in IIS Express. You still need to keep the original one where it lives as far as I can tell, but if you want to modify the logs location for all new projects you can update this file to move them elsewhere – Dan Harris Mar 28 '19 at 17:19
To come full circle and include all versions of Visual Studio, @Myster originally stated that;
Pre Visual Studio 2015 the paths to applicationhost.config were:
%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config
Visual Studio 2015/2017 path can be found at: (credit: @Talon)
$(solutionDir)\.vs\config\applicationhost.config
Visual Studio 2019 path can be found at: (credit: @Talon)
$(solutionDir)\.vs\config\$(ProjectName)\applicationhost.config
But the part that might get some people is that the project settings in the .sln file can repopulate the applicationhost.config for Visual Studio 2015+. (credit: @Lex Li)
So, if you make a change in the applicationhost.config you also have to make sure your changes match here:
$(solutionDir)\ProjectName.sln
The two important settings should look like:
Project("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}") = "ProjectName", "ProjectPath\", "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
and
VWDPort = "Port#"
What is important here is that the two settings in the .sln must match the name and bindingInformation respectively in the applicationhost.config file if you plan on making changes. There may be more places that link these two files and I will update as I find more links either by comments or more experience.

- 37,700
- 14
- 97
- 166

- 1,080
- 1
- 14
- 20
I think all the answers here are relevant however if, like me, you are looking for where Visual Studio takes the template from when it creates a new version of the applicationHost.config then you can look here:
C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer
This happens a lot if you are often working on multiple branches of the same project and pressing 'debug' in a lot of them. Making an edit here will ensure that edit propagates to any new project/solution folders that get created.
Answer indirectly came from this answer

- 76
- 1
- 7
-
This is great, because we regularly had to modify this config file when new branches were created. Now we can have devs modify this base file and all future branches will be good! THANK YOU! – ryancdotnet Apr 09 '22 at 06:10
For Visual Studio 2019 (v16.2.4) I was only able to find this file here:
C:\Users\\Documents\IISExpress\config\applicationhost.config
Hope this helps as I wasn't able to find the .vs folder location as mentioned in the above suggestions.

- 905
- 1
- 12
- 33
-
1This is equivalent to the first suggestion of `%userprofile%\documents\iisexpress\config\applicationhost.config`. Although, if you run via visual studio I would expect it to use the one in the .vs directory. – Myster Sep 17 '19 at 02:54
If you're using Rider, the config file used by IIS Express is located under your project directory at .idea/config/applicationhost.config

- 1,098
- 7
- 18
In Visual Studio 2019 and ASP .Net Core 5.0
<YourProjectFolder>/.vs/<YourProjectName>/config/applicationhost.config

- 3,850
- 1
- 25
- 47