Ich verwende externe Konfigurationsdateien für verschiedene dynamische Abschnitte in meinen web.config-Dateien. Im Wesentlichen wurden alle dynamischen Variablen zwischen Umgebungen (Prod, UAT, Test, Dev usw.) in generische benannte .config-Dateien ausgelagert.Externe .config-Dateien wieder in web.config einbinden, die die configSource-Extraktion verwendet haben
Meine web.config ist auch generisch, so dass alle Umgebungen die gleiche web.config verwenden (da Dinge wie Verbindungszeichenfolgen usw. in den externen Dateien sind). Alle Dateien sind in den Umgebungen gleich benannt. Wenn wir also eine Veröffentlichung machen, müssen wir nur das Verzeichnis web.config und \ Configs * während einer Veröffentlichung im Auge behalten.
Ich möchte (über etwas wie XSLT oder PowerShell) alle Informationen in diesen externen * .config-Dateien wieder in die web.config zusammenführen, damit ich das (jetzt zusammengelegte) Web vergleichen kann. config mit der von den Entwicklern bereitgestellten Version.
So kann unser gegenwärtiges web.config sagen:
<sessionState configSource="Configs\System.Web.SessionStateConnectionString.config" />
Und in der System.Web.SessionStateConnectionString.config-Datei für die Prod Umwelt:
<sessionState mode="StateServer" cookieless="true" timeout="20"/>
Und für die Testumgebung hat :
<sessionState mode="InProc" cookieless="true" timeout="20"/>
Ich möchte alle externen * .config-Dateien zurück in eine web.co zusammenführen nfig, so dass die Datei im Wesentlichen so fertig ist, als wäre configSource noch nie verwendet worden. Dadurch kann ich ein Diff oder WinMerge in der Datei web.config (nachdem es zusammengeführt wurde) und was der Entwickler uns gibt, zeigen, welche Dinge geändert wurden, wie neue Schlüssel hinzugefügt oder neue Module verwendet.
Was wäre der beste Weg, um dies zu tun?