Web.config-Dateien enthalten kaskadierende Überschreibungen einer höheren Dateieinstellung von web.config. Wenn Sie also eine web.config im Stammverzeichnis von IIS platzieren oder Einstellungen in der Datei machine.config oder der Standarddatei web.config des .NET-Frameworks (C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG for Beispiel).
Das beste Beispiel ist wahrscheinlich die Verwendung der Verbindungszeichenfolge LocalSqlServer. Es ist in der machine.config definiert als
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;
Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;
User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
Wenn Sie das Login-Steuerelement zum Beispiel verwenden würden und debuggen und fordern connection dann wird dies eine ebenso enthalten sein.
Wenn Sie also einige gemeinsame Einstellungen für mehrere Anwendungen benötigen, fügen Sie sie in eine Datei web.config ein, die in der Hierarchie hoch genug ist, letztendlich in der Datei machine.config.
Ich habe versucht, dies zu tun, bekam aber eine Warnung, dass die Dateien nicht von der Quelle gesteuert würden, weil sie sich außerhalb der Wurzel des verbindlichen Projekts befanden. Sie scheinen jedoch von der Quelle kontrolliert zu werden, und Änderungen/Check-Ins scheinen zu funktionieren ... ich bin mir nicht sicher, ob mich dieses Thema irgendwann an einem Punkt treffen wird. –