2015-07-03 16 views
8

için dönüştürür. Bazı ortamlar için web.config dönüşümlerim var. Yapılandırma dosyasında, birkaç ayar ve değer çiftine sahip bir applicationSettings bölümüne sahibim.web.config, <applicationSettings>

ben de ayarlarına uygun ve değeri değiştirmek için bağlantı dizeleri ismiyle aynı ve değiştirmek için kullanabileceğiniz sözdizimi dayalı denedi ama dönüşümleri başarısız oluyor. Bu mümkün mü?

Yani benim web.config vardır:

<applicationSettings> 
    <AppName.My.MySettings> 
     <setting name="setting1" serializeAs="String"> 
      <value>Initial Value</value> 
     </setting> 
    </AppName.My.MySettings> 
</applicationSettings> 

Ben dönüşümü ancak bağlantı dizesi ayar oysa ayarı1 için değer dönüşür önizleme zaman hiç hata olsun dosya

<applicationSettings> 
    <add name="setting1" value="Changed Value" xdt:Transform="SetAttributes" xdt:Location="Match(name)"/> 
</applicationSettings> 

sahiptir dönüşümü listem değil. Herhangi bir yardım takdir edildi.

GÜNCELLEME

<applicationSettings> 
    <add name="setting1" value="Changed Value" xdt:Transform="Replace" xdt:Location="Match(name)"/> 
</applicationSettings> 

Maalesef aynı sorun ... hiçbir hata ve hiçbir dönüşümü. Ben unuttunuz mu

ÇÖZÜM Birden fazla ayar öylesine belirgin cevap kısmi çözüm var söz ... Bu nasıl yaptığımı ... Web.config ...

<applicationSettings> 
    <AppName.My.MySettings> 
     <setting name="setting1" serializeAs="String"> 
      <value>Initial Value 1</value> 
     </setting> 
     <setting name="setting2" serializeAs="String"> 
      <value>Initial Value 2</value> 
     </setting> 
     <setting name="setting3" serializeAs="String"> 
      <value>Initial Value 3</value> 
     </setting> 
    </AppName.My.MySettings> 
</applicationSettings> 

Transform olduğunu bazılarının benim örnekte ayar 2 olduğu gibi değişmedi bile bütün iç içe ayarları ve değerleri dahil etmek zorunda kaldı

<applicationSettings xdt:Transform="Replace"> 
    <AppName.My.MySettings> 
     <setting name="setting1" serializeAs="String"> 
      <value>CHANGED VALUE 1</value> 
     </setting> 
     <setting name="setting2" serializeAs="String"> 
      <value>Initial value 2</value> 
     </setting> 
     <setting name="setting3" serializeAs="String"> 
      <value>CHANGED VALUE 3</value> 
     </setting> 
    </AppName.My.MySettings> 
</applicationSettings> 

not Dosya.

+0

değer bir düğüm değil niteliktir, ve sen ... benim güncelleme bakın – Thorarins

+0

@Andreas "Değiştir" = Transform kullanmak zorunda. – Mych

cevap

-2

orijinal dosya: Bu biraz geç olduğunu biliyorum ama şu

<applicationSettings> 
    <AppName.My.MySettings> 
     <setting xdt:Transform="Replace" xdt:Locator="Match(name)" name="setting1" serializeAs="String"> 
      <value>Changed Value</value> 
     </setting> 
    </AppName.My.MySettings> 
    </applicationSettings> 

+1

Andreas, kendi başına dönüştürme işlemi işe yaramadı xdt: Transform = "Replace" (büyük küçük harfe duyarlı) kullanmam gerekiyordu. Şimdi başka bir problemim var. Birden fazla ayarım var (kesin olarak 12 tane). Dönüşüm önizlemesi, dönüşümün tamamlandığını ancak tüm ilk ayara karşı olduğunu gösterir, böylece dönüştürme ayarının1 sonunda ayar12'nin dönüştürülmüş değeri vardır, diğer tüm ayar2'den ayar12 değişmeden kalır. Herhangi bir fikir ... Sanırım bir yere ihtiyacım var. – Mych

+0

, size yardımcı olmak için xml'yi görmeniz gerekir – Thorarins

+1

Sıralama .... xdt: Transform = "Replace" yerine, uygulama parası ile yerleştirdiğim değer paramının içine yerleştirmek yerine ... doğru yönde ... doğru çözümle güncellenmiş soru. – Mych

0

:

<applicationSettings> 
    <AppName.My.MySettings> 
     <setting name="setting1" serializeAs="String"> 
      <value>Initial Value</value> 
     </setting> 
    </AppName.My.MySettings> 
</applicationSettings> 

dosyayı Transform dönüştürme dosyası, birden çok dosyanız olduğunda yalnızca bir ayarı değiştirmenize izin verecektir. Hala .. hayır sevinç

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <applicationSettings> 
    <YourProject.Settings> 
     <setting name="Log4NetPath" serializeAs="String" xdt:Transform="Replace" xdt:Locator="Match(name)"> 
     <value xdt:Transform="Replace">NewPath</value> 
     </setting> 
    </YourProject.Settings> 
    </applicationSettings> 
</configuration> 
16

: Transform dosyayı

<applicationSettings> 
    <AppName.My.MySettings> 
     <setting name="setting1" serializeAs="String"> 
      <value xdt:Transform="Replace">Changed Value</value> 
     </setting> 
    </AppName.My.MySettings> 
    </applicationSettings>