2015-01-08 22 views
5

Bazı değerleri değiştirmek için web.config dönüşümü kurmaya çalışıyorum. Ben Ahtapot dağıtma tarafından verilen bu örneği kullanıyorum:Web.Config Herhangi bir değeri değiştirmiyor Dönüştürme

http://docs.octopusdeploy.com/display/OD/Configuration+files

ultra inceltilmiş web.config versiyonu aşağı:

<?xml version="1.0" ?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 

dönüşümü:

<?xml version="1.0" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 

çıkışı:

<?xml version="1.0"?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 
Eğer hiçbir şey yapmaz gördüğünüz gibi https://webconfigtransformationtester.apphb.com/

:

Ben dönüşümünü önizleme için bu aracı kullanıyorum. Çok fazla örnek gördüm, ama belli ki bir şeyi özlüyorum. Herhangi bir yardım büyük takdir edilecektir. web.config için belirtilen çevrimiçi önizleme aracında amaçlandığı gibi

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
     <compilation debug="false" xdt:Transform="Replace"> 
     </compilation > 
    </system.web> 
</configuration> 
+3

musunuz? Xmlns = "http://schemas.microsoft.com/.NetConfiguration/v2.0" dan "xmlns: xdt =" adresine değiştirirseniz http://schemas.microsoft.com/.NetConfiguration/v2.0 "' debug' özniteliği çıktıdan kaldırılır. –

+0

Teşekkür ederim Matthias, işte bu ... 10 farklı kaynağa baktım ve bunların hiçbiri bunu yapmam gerektiğini söyledi. Bunu göndermek isterseniz, bunu cevap olarak işaretleyeceğim. –

+0

Gerçekten sinir bozucu olan, dönüştürme dosyalarını otomatik olarak oluşturmak için Visual Studio'yu kullandım. Dönüşüm için gerekliyse, bu parçayı orijinal web.config'e ekleyebilecek kadar akıllı olacağını düşünebilirsiniz. –

cevap

3

eser dönüşümü Eğer web.config ad değiştirdiğinizde https://webconfigtransformationtester.apphb.com/ dönüşümler:

(Ben de hiç şans ile bu denedim)

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

için Wh dosyasını Bu tr

<?xml version="1.0" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 

debug nitelik sonucu çıkarılır

<?xml version="1.0" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 

düzeltilmiş web.config uygulanır dönüşümü: Açıklamalarda belirtildiği gibi:

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 

Güncelleme web.config dosyasının yapılandırması hiç bir ad alanına sahip olmamalıdır. Bunun yerine, bu dönüşümü dosyaya bu ithalat

<xdt:Import assembly="AppHarbor.TransformTester" 
      namespace="AppHarbor.TransformTester.Transforms"/> 

eklemek için gerekli (en azından, söz çevrimiçi dönüşüm test cihazı ile test ederken): Eğer giriş xml ad konusunda emin

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
<xdt:Import assembly="AppHarbor.TransformTester" 
    namespace="AppHarbor.TransformTester.Transforms"/> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 
+0

Aslında, tüm ad alanı bildirimi, web.config dosyasındaki elemanından kaldırılmalıdır. 'configuration' bir isim alanında değil. –

+0

@JohnSaunders Bilgi için teşekkürler, sadece bu bilgiyi burada bulabilirsiniz: http://msdn.microsoft.com/en-us/library/ee248644%28v=vs.100%29.aspx (ayarların geçerli olup olmadığını bilmeden) burada kullanıldı). Cevap, burada bahsedilen örneğe göre verilmiştir: http://msdn.microsoft.com/en-us/library/dd465326.aspx –

+0

Örnekleri yanlış okudunuz. Bu sayfadaki tüm örnekler, web.config dosyalarının değil, _transformation files_. –