2011-05-06 21 views
6

Bir Web Kur Projesi kullanarak bir uygulamayı dağıtmaya çalışıyorum. Çalıştığım sorun, web.config dosyasının hiçbir zaman dönüştürülmediğidir. Bu post sayılı belgeye göre, dönüşümün yalnızca bir yayınlama sırasında gerçekleştiği bir tasarımdır. Kurulum Projesini oluştururken, diğer derlemeleri komut komutu çağırırsa, web.config özelliklerinin doğru bir şekilde güncellenmesini nasıl sağlayabilirim?Yapılandırma sırasında web.config özelliklerini ayarlama (yayınlamadan değil)

cevap

5

Ben Andriy K bu post önerildiği gibi bir kukla web.Template.config dosyasını ekleyerek, ardından arayarak düzelttim Benim BeforeBuild olay sırasında TransformXml:

<Target Name="BeforeBuild"> 
<TransformXml Source="$(WebFolderName)Web.Template.config" 
       Transform="$(WebFolderName)Web.$(Configuration).config" 
       Destination="$(WebFolderName)Web.config" /> 
</Target> 
2

En basit seçenek, bir komut satırı xslt yardımcı programı yüklemek ve projenizin post-build eyleminde başlatmaktır. Birçok MSBuild XSLT görevinden birini kullanabilir ve .csproj dosyasına ekleyebilirsiniz. (Bu sadece bir MSBuild komut dosyasıdır; orada, yapının nasıl özelleştirileceğini açıklayan alt kısımda bulunan yorumlar vardır.)

Ayrıca, bu adımlardan herhangi birini, kurulum projenizin önceden oluşturulma eyleminde gerçekleştirebilirsiniz. web uygulamanızın post-build eylemi. Yayımlama sihirbazını da kullanıyorsanız, bu ikinci seçenek, yayıncıda devam eden normal XSLT dönüşümüne müdahale etmeyeceği için daha iyi çalışabilir.

Microsoft XSLT komut satırı yardımcı programı: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2fb55371-c94e-4373-b0e9-db4816552e41&displaylang=en

Örnek MSBuild XSLT Görev: http://www.arlt.eu/blog/2007/10/01/msbuild-xslt-task/

İlgili konular