2010-09-02 12 views
7

मैं .wsdl फ़ाइलों के एक सेट से सेवा अनुबंध (इंटरफेस) उत्पन्न करने के लिए svcutil.exe का उपयोग करने का प्रयास कर रहा हूं। जब मैं ऐसा करता हूं (http-hosted wsdl से), यह शामिल स्कीमा उठाता है और उनके लिए सभी कोड उत्पन्न करता है।svcutil.exe के लिए संदर्भ विकल्प क्यों नहीं है?

ग्रेट।

मैं वास्तव करना चाहते हैं क्या, तथापि, xsd.exe उपकरण (इस के लिए कारणों, महत्वपूर्ण नहीं हैं यह है कि मैं कहता हूँ के लिए पर्याप्त का उपयोग कर पहले से ही स्कीमा फ़ाइलें से उत्पन्न वर्गों के एक सेट का उपयोग करने के लिए है एक असेंबली में प्रकारों की आवश्यकता है, और दूसरे में सेवा अनुबंध)। मैं सभी प्रकार के असेंबली उत्पन्न करने में सफल रहा था।

समस्या तब होती है जब मैं उस असेंबली में प्रकारों का उपयोग करने के लिए svcutil.exe प्राप्त करने का प्रयास करता हूं।

svcutil /target:code /noconfig /reference:my_types.dll http://path/to/wsdl 

यह ठीक काम करता है, लेकिन उत्पन्न कोड my_types.dll फ़ाइल में सभी प्रकार के डुप्लिकेट शामिल हैं: मेरे आदेश पंक्ति कुछ इस तरह लग रहा है। Svcutil.exe के लिए प्रलेखन से यह मेरी समझ है कि यह सही समस्या है कि/संदर्भ: पैरामीटर काबू पाने के लिए है। मेरे मामले में, हालांकि, यह काम नहीं कर रहा है।

क्यों?

उत्तर

5

स्पष्ट रूप से यह केवल डेटाकंट्रैक्ट प्रकारों के लिए काम करता है, न कि XmlSerializer प्रकार।

http://blogs.msdn.com/b/youssefm/archive/2009/10/09/reusing-types-in-referenced-assemblies-with-svcutil-s-r-switch.aspx

+0

बिल्कुल कारण हो रहा है यही कारण है कि। काश वह इस सीमा पर मौजूद क्यों है, इस बारे में अधिक जानकारी में चलेगा, लेकिन फिर भी जवाब के लिए धन्यवाद! – Mark

+0

क्या आपने प्रॉक्सी क्लास उत्पन्न करने के लिए अपने WSDL के विरुद्ध WSDL.exe को मैन्युअल रूप से चलाने का प्रयास किया है। जो वर्ग उत्पन्न करता है उसे हटाएं और फिर अपनी कक्षाओं के संदर्भ जोड़ें। – Andrew

1

मैं इस समस्या थी। बाइनरी में कुछ जो मैं/r के साथ संदर्भित कर रहा था अभी भी जेनरेट कोड में बनाया जा रहा था। सेवा कार्यों में से किसी एक से लौटाई जा रही वस्तुओं में से एक एक डेटाटेबल या कुछ अन्य भयानक चीज लौट रहा था। मैंने System.Data के पूरे पथ में ए/आर जोड़ा और इसे ठीक किया।

/आर: "C: \ प्रोग्राम फ़ाइलें (x86) \ संदर्भ विधानसभाओं \ Microsoft \ Framework.NETFramework \ v4.5.2 \ System.Data.dll"

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