2010-12-16 8 views
8

Ich verwende die web.config Transformationen verfügbar über VS2010. In diesem einen Fall frage ich mich, ob es möglich ist, während der Transformation ein Element mit einem anderen zu umgeben. Hier ein Beispiel:Web.config Transformationen - Umgebungselemente

Standard web.config enthält:

<configuration> 
    <system.web> 
    .... 
    </system.web> 
</configuration> 

Meine transformierten Datei

<configuration> 
    <location inheritInChildApplications="false"> 
    <system.web> 
    ... 
    </system.web> 
    </location> 
</configuration> 

enthalten sollte also im Wesentlichen möchte ich 'wrap' das system.web Element mit einem Standort Element. Mein einziger Gedanke war, ein so zu tun verwandeln, dass ich vor und nach wie eingefügt:

<location inheritInChildApplications="false" 
      xdt:Transform="InsertBefore(/configuration/system.web)"> 
</location xdt:Transform="InsertAfter(/configuration/system.web)"> 

Aber das Schließen Lage Element ist nicht gültig xml nach VS (ich nehme an, weil das Attribut Transformation). Das Einfügen eines selbstschließenden Standortelements vor system.web hilft auch nicht, weil die resultierende system.web noch nicht "umgeben" ist.

Antwort

2

Derzeit ist es nicht möglich, dies mit der web.config-Umwandlung zu tun, aber es sollte in der Tat machbar sein, wenn Sie eine benutzerdefinierte Transformation geschrieben haben ... Es wird ein Dokumentations-Update zum Schreiben benutzerdefinierter Transformationen durchgeführt es ist noch nicht jetzt aus ...

ich es so bald gebucht werden, sobald es verfügbar ist ...

+0

Sind Sie schon einmal dazu gekommen? Ich schaue mir gerade diese genaue Situation an. –

2

Wenn Sie eine leere Stelle Tag in Ihrem webconfig hinzufügen, wo Sie es es sein möchte haben Kein Effekt.

Sie können diese dann setzen in Ihrer Transformationsdatei in der gleichen Position wie die anderen:

<location xdt:Locator="XPath(some xpath expression)" 
      inheritChildApplications="false" 
      xdt:Transform="SetAttributes(inheritChildApplications)"> 

mit dem schließenden Tag zu und das alles.

Verwandte Themen