2010-12-16 16 views
8

VS2010 aracılığıyla kullanılabilen web.config dönüşümlerini kullanıyorum. Bu durumda, dönüşüm sırasında bir elementi diğeriyle “çevrelemek” mümkün olup olmadığını merak ediyorum.Web.config dönüşümleri - çevre öğeleri

varsayılan web.config içerir:

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

My dönüştürülmüş dosya Yani esasen ben 'sarma' bir konuma sahip system.web elemanı istiyorum

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

içermelidir İşte bir örnek öğesi. Benim tek düşünce bir önce ve benzeri sonra eklenen böylece dönüşümü yapmak oldu:

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

Ama kapatma yeri eleman VS göre geçerli xml (çünkü Transform özelliğin tahmin ediyorum) değildir. Sadece system.web'den önce kendiliğinden kapanabilen bir konum unsuru eklemek, sonuçta ortaya çıkan system.web'in hala "çevrili" olmadığı için yardımcı olmaz.

cevap

2

Şu anda web.config dönüşümünü kullanarak bunu yapmak mümkün olmayacaktır, ancak özel bir dönüşüm yazdıysanız gerçekten yapılabilir olmalıdır ... Özel dönüşümlerin nasıl yazılacağına dair bir belge güncellemesi var. Eğer sizin WebConfig boş konum etiketi eklerseniz o olacak olmak istiyorum nereye

Ben

+0

Şimdiye kadar var mı? Şu anda bu duruma bakıyorum. –

2

... en kısa sürede sunulur sunulmaz yayınlayacağız ... dışarı şimdi henüz etkisi yok. Çok kapanış etiketiyle

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

ve bütün bu:

Daha sonra diğeri ile aynı yerde senin dönüşümü dosyasında bu koyabilirsiniz.