Ist es möglich, die folgende Datei web.config appSettings zu transformieren:
<appSettings>
<add key="developmentModeUserId" value="00297022" />
<add key="developmentMode" value="true" />
/* other settings here that should stay */
</appSettings>
in so etwas:
<appSettings>
<add key="developmentMode" value="false" />
/* other settings here that should stay */
</appSettings>
Daher muss ich den Schlüssel developmentModeUserId entfernen und den Wert für den Schlüssel developmentMode ersetzen .
c#
asp.net
.net
web-config
Libelle
quelle
quelle
xdt:Transform="SetAttributes" xdt:Locator="Match(key)"
Teil sollte in der Datei Web.Whatever.config und nicht in der Datei Web.config verwendet werden.Alle AppSettings ersetzen
Dies ist der Overkill-Fall, in dem Sie nur einen ganzen Abschnitt der web.config ersetzen möchten. In diesem Fall werde ich alle AppSettings in der web.config durch neue Einstellungen in der web.release.config ersetzen. Dies ist meine Basis web.config appSettings:
Jetzt werde ich in meiner Datei web.release.config einen Abschnitt appSettings erstellen, außer dass ich das Attribut xdt: Transform = ”Replace” einbinde, da ich nur das gesamte Element ersetzen möchte. Ich musste xdt: Locator nicht verwenden, da nichts zu finden ist. Ich möchte nur den Schiefer sauber wischen und alles ersetzen.
Beachten Sie, dass in der Datei web.release.config mein Abschnitt appSettings drei statt zwei Schlüssel enthält und die Schlüssel nicht einmal gleich sind. Schauen wir uns nun die generierte Datei web.config an, was passiert, wenn wir veröffentlichen:
Wie erwartet wurden die app.ettings von web.config vollständig durch die Werte in der Konfiguration von web.release ersetzt. Das war einfach!
quelle
Wenn Sie Ihre App-Einstellung von einer Webkonfigurationsdatei in eine web.Release.config umwandeln möchten, müssen Sie die folgenden Schritte ausführen. Lassen Sie Ihre web.config App-Einstellungsdatei dies-
Hier ist nun die web.Release.config für die Transformation.
Dadurch wird der Wert von K1 im Realese-Modus in den neuen Wert umgewandelt.
quelle
Ich mag es nicht, wenn Transformationen mehr Informationen als nötig haben. Anstatt die Schlüssel neu zu formulieren, gebe ich einfach den Zustand und die Absicht an . Es ist viel einfacher, die Absicht zu erkennen, wenn man es so macht, zumindest IMO. Außerdem versuche ich, alle
xdt
Attribute an die erste Stelle zu setzen, um dem Leser anzuzeigen, dass dies Transformationen sind und keine neuen Dinge definiert werden.Oben ist es viel einfacher zu erkennen, dass der erste das Element entfernt. Der zweite ist das Setzen von Attributen. Alle hier definierten Attribute werden gesetzt / ersetzt. In diesem Fall wird es einfach eingestellt
value
zufalse
.quelle