Web.config transforms - surrounding elements
Asked Answered
T

2

8

I am using the web.config transforms available via VS2010. In this one case I'm wondering if it possible to 'surround' an element with another during transformation. Here is an example:

default web.config contains:

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

My transformed file should contain

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

So essentially I want to 'wrap' the system.web element with a location element. My only thought was to do a transform so that I inserted before and after like:

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

But the closing location element isn't valid xml according to VS (I'm guessing because of the Transform attribute). Just inserting a self-closing location element before system.web doesn't help either because the resulting system.web is still not 'surrounded'.

Tilt answered 16/12, 2010 at 22:52 Comment(0)
I
2

Currently it won't be possible to do this using web.config transformation, but it indeed should be feasible if you wrote a custom transform... There is a documentation update being worked on on how to write custom transforms but it is not yet out now...

I will post it as soon as it is available...

Infantine answered 17/12, 2010 at 18:10 Comment(1)
Ever got around to this? I'm currently looking at this exact situation.Kletter
R
2

If you add an empty location tag in your webconfig where you would like it to be it will have no effect.

You can then put this in your transform file in the same location as the other one:

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

with the closing tag too and all that.

Reld answered 29/1, 2013 at 1:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.