An app.config is only used in debug runtime mode in Visual Studio.
For IIS hosted solutions, the Web.config file is where .NET will look for any configuration information during application runtime. Any projects below the Web project, the root project, within the solution that have an app.config, the app.config information
in the subordinate project must be copied to the web.config in the root project.
If a project that creates a programname.exe file, a selfhosting exe, has an app.config, which is the root project, then another project within the solution that has an app.config, the app.config information in the subordinate project must be copied
to the app.config in the root project.
Why? It is because upon the successful build of solution, the root selfhosting exe project, VS will have its app.config copied over to a runtime config called programname.exe.config where .NET will look for config information at program runtime.
The progamname.exe is deployed, and the progamname.exe.config must be deployed to the same location so .NET can find it.