Los archivos Web.config contienen anulaciones en cascada de una configuración de archivo web.config más alta. Por lo tanto, si coloca un web.config en la raíz de IIS o ajusta la configuración en machine.config o en el estándar web.config del .NET framework (C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG para ejemplo).
El mejor ejemplo es probablemente el uso de la cadena de conexión LocalSqlServer. Se define en el machine.config como
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;
Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;
User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
Si desea utilizar el control de sesión, por ejemplo, y desea depurar y solicitar los connectionStrings entonces éste será incluido también.
Por lo tanto, si necesita algunas configuraciones comunes para varias aplicaciones, colóquelas en un archivo web.config que sea lo suficientemente alto en la jerarquía, en última instancia en machine.config.
Intenté hacer esto, pero recibí una advertencia de que los archivos no serían controlados por el origen porque estaban fuera de la raíz del proyecto vinculante. Sin embargo, parecen estar controlados por la fuente, y los cambios/comprobaciones parecen estar funcionando ... no estoy seguro si ese problema me morderá en algún momento del camino. –