हमारी परियोजना में वही मुद्दा है जहां हमें देव, क्यूए, उट और ठेस के लिए विन्यास बनाए रखना था। यहाँ पर हमने अनुसरण किया है (केवल तभी लागू होता है जब आप MSBuild से परिचित हों):
MSBuild सामुदायिक कार्य विस्तार के साथ MSBuild का उपयोग करें। इसमें 'XmlMassUpdate' कार्य शामिल है जो किसी भी XML फ़ाइल में 'बड़े पैमाने पर अपडेट' प्रविष्टियां कर सकता है जब आप इसे शुरू करने के लिए सही नोड देते हैं।
लागू करने के लिए:
1) आपके पास एक कॉन्फिग फाइल होनी चाहिए जिसमें आपकी देव एनवी प्रविष्टियां होंगी; यह आपके समाधान में विन्यास फाइल है।
2) आपको एक 'सबस्टीट्यूशंस.एक्सएमएल' फाइल रखने की जरूरत है, जिसमें प्रत्येक पर्यावरण के लिए केवल प्रविष्टियां हैं जो अलग-अलग हैं (AppSettings और ConnectionStrings)। पर्यावरण में परिवर्तन नहीं करने वाली प्रविष्टियों को इस फ़ाइल में डालने की आवश्यकता नहीं है। वे समाधान की web.config फ़ाइल में रह सकते हैं और कार्य द्वारा छुआ नहीं जाएगा
3) अपनी बिल्ड फ़ाइल में, बस XML मास अपडेट कार्य को कॉल करें और एक पैरामीटर के रूप में सही वातावरण प्रदान करें।
नीचे उदाहरण देखें:
<!-- Actual Config File -->
<appSettings>
<add key="ApplicationName" value="NameInDev"/>
<add key="ThisDoesNotChange" value="Do not put in substitution file" />
</appSettings>
<!-- Substitutions.xml -->
<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
<substitutions>
<QA>
<appSettings>
<add xmu:key="key" key="ApplicationName" value="NameInQA"/>
</appSettings>
</QA>
<Prod>
<appSettings>
<add xmu:key="key" key="ApplicationName" value="NameInProd"/>
</appSettings>
</Prod>
</substitutions>
</configuration>
<!-- Build.xml file-->
<Target Name="UpdateConfigSections">
<XmlMassUpdate ContentFile="Path\of\copy\of\latest web.config" SubstitutionsFile="path\of\substitutionFile" ContentRoot="/configuration" SubstitutionsRoot="/configuration/substitutions/$(Environment)" />
</Target>
replace क्यूए ’या based प्रोड्यूस’ के साथ replace एनवाय ’पर आधारित Prod $ एनवायरनमेंट’ को बदलें। आप निर्माण कर रहे हैं ध्यान दें कि आपको किसी भी संभावित गैर-वसूली योग्य गलतियों से बचने के लिए एक कॉन्फिगर फाइल की कॉपी पर काम करना चाहिए न कि वास्तविक कॉन्फिग फाइल पर।
बस बिल्ड फ़ाइल को चलाएं और फिर अद्यतन तैनाती फ़ाइल को अपने परिनियोजन वातावरण में ले जाएँ और आप कर रहे हैं!
बेहतर अवलोकन के लिए, इसे पढ़ें:
http://blogs.microsoft.co.il/blogs/dorony/archive/2008/01/18/easy-configuration-deployment-with-msbuild-and-the-xmlmassupdate-task.aspx