2008-10-01 7 views
17

मेरे पास एक .net प्रोजेक्ट है जिसमें किसी सेवा का वेब संदर्भ है। मैं हर निर्माण के हिस्से के रूप में उस वेब संदर्भ को अपडेट करना चाहता हूं। क्या यह संभव है?बिल्ड समय पर मैं स्वचालित रूप से वेब संदर्भ कैसे अपडेट करूं?

+2

वेब सेवा और क्लाइंट घर में लिखे और उपयोग किए जाते हैं। मैं किसी भी समय wsdl परिवर्तनों में किसी भी समय प्रत्येक क्लाइंट प्रोजेक्ट पर वेब संदर्भ मैन्युअल रूप से अद्यतन करना याद रखना नहीं चाहता हूं। – HBFan

उत्तर

17

आप कॉल wsdl.exe

<Target Name="UpdateWebReference"> 
    <Message Text="Updating Web Reference..."/> 
    <Exec Command="wsdl.exe /o &quot;$(OutDir)&quot; /n &quot;$(WebServiceNamespace)&quot; &quot$(PathToWebServiceURL)&quot;"/> 
    </Target> 
+2

डब्लूएसडीएल केवल एएसएमएक्स सेवाओं के लिए है। डब्ल्यूसीएफ के लिए कमांड लाइन उपकरण विजुअल स्टूडियो के "अपडेट सर्विस रेफरेंस" –

1

इसके अलावा, जब आप उत्पादन पर अपने वेबसाइकिलों को तैनात कर रहे हैं तो सुनिश्चित करें कि वे गतिशील और स्थैतिक नहीं हैं।

0

आप अपने लिए वेब संदर्भ उत्पन्न करने के लिए svcutil (http://msdn.microsoft.com/en-us/library/aa347733.aspx) उपकरण का उपयोग कर सकते हैं। उपकरण उचित क्लाइंट प्रॉक्सी कक्षाएं और उचित कॉन्फ़िगरेशन उत्पन्न करेगा (और यह इसे आपके एप्लिकेशन कॉन्फ़िगरेशन में भी मर्ज कर सकता है)। ध्यान रखें कि उपकरण को .NET 3.0 की आवश्यकता है और डब्ल्यूसीएफ-शैली क्लाइंट प्रॉक्सी और कॉन्फ़िगरेशन उत्पन्न करेगा।

2

आप इसे अन्य answerers द्वारा प्रदान की विधियों का उपयोग कर ऐसा कर सकते हैं एक कार्य के साथ MSBuild स्क्रिप्ट का उपयोग कर सकते हैं, लेकिन आप को पता है कि ऐसा करने अपने निर्माण विफल हो सकता है। यदि डब्ल्यूएसडीएल बदल दिया गया था, तो जेनरेट कोड भी बदल जाएगा और आपका कोड अब संकलित नहीं हो सकता है।

+11

के रूप में वही काम नहीं करता है, यह वांछनीय है ... –

संबंधित मुद्दे