2009-07-16 3 views
30

एकाधिक एक्सएसडी स्कीमा फ़ाइलों से सी # कक्षाएं उत्पन्न करने का सबसे अच्छा तरीका क्या है?एकाधिक एक्सएसडी स्कीमा फाइलें सी # कक्षा

कुछ एक्सएसडी स्कीमा फ़ाइलों के दूसरे पर निर्भरता हो सकती है, मैं उत्पन्न किए गए डुप्लिकेट सी # कक्षाओं से बचने की कोशिश कर रहा हूं।

उत्तर

38

XSD.EXE प्रोग्राम का उपयोग करें, लेकिन उसी कमांड लाइन पर प्रोग्राम के स्कीमा के सभी पास करें।

उदाहरण के लिए:

> xsd /c qbxmltypes130.xsd QBUqbxmlops130.xsd QBUqbxmlso130.xsd QBUqbxml130.xsd 

एक वर्ग नामित फेंकना होगा:

qbxmltypes130_QBUqbxmlops130_QBUqbxmlso130_QBUqbxml130.cs 

इस मामले में इन Quickbooks डेस्कटॉप SDK XSD फ़ाइलें हैं, और अंतिम फ़ाइल प्रकारों यह पहली बार में पर निर्भर करता है है 3 फाइलें यह अपने आप पर उत्सर्जित नहीं होगा, लेकिन इसकी निर्भरताओं के साथ यह वांछित के रूप में काम करता है।

ध्यान दें कि /parameters:<file> स्विच है जो आपको कमांड लाइन पैरामीटर की एक फ़ाइल निर्दिष्ट करने की अनुमति देता है। मुझे एक ही कारण में एक परियोजना में इसका उपयोग करना याद है।

XSD.EXE दस्तावेज़ में पैरामीटर प्रारूप है।

+2

बस एक उदाहरण "xsd.exe/वर्गों को जोड़ने/एन: {} {your_namespace file1} {.xsd करें 2} {.xsd file3 } .xsd/out: {your output folder} " – vivekp

+0

एक्सएसडी से सी # कक्षाएं उत्पन्न करने के लिए अब से कई संदर्भों के साथ अल्टोवा एक्सएमएल जासूस का उपयोग करने की आवश्यकता नहीं है। – Joset

+1

उत्कृष्ट उदाहरण @ vivekp के लिए एक अंतिम जोड़ा दिया गया: अनुक्रम में नामित अंतिम फ़ाइल क्लास फ़ाइल नाम उत्पन्न करने के लिए उपयोग की जाती है। तो उसका उदाहरण कक्षा फ़ाइल {आपके आउटपुट फ़ोल्डर} \ {file3} का उत्पादन करेगा .cs – PellucidWombat

27

मैं किसी के लिए एमएसडीएन दस्तावेज़ में कुछ कमी की कमी पाई। यहाँ एक उदाहरण पैरामीटर जारी करने के लिए फ़ाइल वर्णित codemeit है:

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'> 
<generateClasses language='CS' namespace='Namespace.subnamespace'> 
    <schema>FirstSchema.xsd</schema> 
    <schema>AnotherSchema.xsd</schema> 
    <schema>LastSchema.xsd</schema> 
</generateClasses> 
</xsd> 
+1

धन्यवाद, @anony_mouse - मैं उस वाक्यविन्यास का एक अच्छा उदाहरण ढूंढ रहा था! – ewall

+6

यदि आपको "निर्दिष्ट पथ या फ़ाइल नाम बहुत लंबा" त्रुटि मिलती है, तो अंतिम फ़ाइल के सामने "। \" डालने का प्रयास करें और यह समस्या का समाधान करता है, ध्यान दें कि आउटपुट फ़ाइल को अंतिम फ़ाइल द्वारा नामित किया जाएगा .. – Peter

+0

@ पीटर वाह धन्यवाद – dpant