Was ist die .net-Hierarchie zum Laden von Systemkonfigurationseigenschaften?

Ich habe eine allgemeine Frage, aber ich erkläre auch, warum ich frage, damit Sie eine bessere Vorstellung davon bekommen, was ich meine.

Ich habe eine DLL, die eine Webservice-URL in den Einstellungen definiert hat, und zur Laufzeit verwendet sie Settings.Default, um die URL aus den Einstellungen abzurufen. Keine unserer Umgebungen verfügt jedoch über eine (dllName) .dll.config-Datei, und die spezifische Einstellung ist in der (exeName) .exe.config der aufrufenden Anwendung nicht definiert. Es ist wirklich klar, dass der Standardwert nicht verwendet wird, da er auf eine interne IP-Adresse festgelegt ist. Dies funktioniert jedoch in Produktionsumgebungen, in denen diese Einstellung nicht in einer der von mir gefundenen CONFIG-Dateien definiert ist und die richtige Webservice-URL trotzdem angezeigt wird. Ich muss wissen, woher der Wert in diesem Fall geladen wird.

Meine allgemeinere Frage lautet also: Wie funktioniert die Hierarchie beim Laden von Einstellungen in .net? Beispiel: Sieht es zuerst in machine.config und dann in (exeName) .exe.config aus, und wenn es sich um eine DLL handelt, wechselt es zu (dllName) .dll.config? Wo sieht es zuerst aus und in welcher Reihenfolge sieht es an anderen Stellen aus, und gibt es andere Stellen, an denen ich nicht erwähnt habe, dass diese Konfiguration definiert werden könnte?

Wenn für eine DLL in den Einstellungen etwas definiert ist, wird dies als Standardwert in die kompilierte DLL eingebettet. Wird das verwendet, wenn die Eigenschaft in keiner anderen CONFIG-Datei gefunden wird?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage