2012-05-31 15 views
10

विजुअल स्टूडियो में जेनरेट सीरियलाइजेशन असेंबली विकल्प मेरी प्रोजेक्ट बनने पर एक MyAssembly.XmlSerializers.dll बनाता है। यह प्रश्न (https://stackoverflow.com/questions/934411/what-is-myassembly-xmlserializers-dll-generated-for) एक कारण बताता है कि यह पहले स्थान पर क्यों है, और कुछ जवाब इसे बंद करने के तरीके प्रदान करते हैं, लेकिन मेरा सवाल यह है कि आप इसे बंद करना क्यों चुनेंगे? क्या यह कुछ स्थितियों में समस्याएं पैदा कर रहा है (और यदि हां, तो उन स्थितियों में क्या हैं)?सीरियलाइजेशन असेंबली जेनरेट करने का लाभ क्या है?

+1

एआरएम, आपकी परियोजना तेजी से बढ़ेगी। यह निश्चित रूप से तेजी से नहीं चलेगा। –

+1

@ हंसपैसेंट - स्पष्टीकरण के लिए "तेजी से नहीं चलेगा" - जब ऐप उन्हें छूता है तो सीरियलाइजेशन असेंबली बनाई जा रही है - इसलिए यह समग्र प्रदर्शन को नहीं, बल्कि स्टार्ट अप समय को प्रभावित करेगा। –

उत्तर

5

केवल समस्याएं जो आप सामना कर रहे हैं, निर्माण उपकरण के साथ हैं - जैसे कि एमएसबिल्ड, क्योंकि यदि आप एक्स 32 एसडीके से एसजेएन का उपयोग असेंबली पर करते हैं जो स्पष्ट रूप से x64 है तो यह एक बिल्ड-टाइम त्रुटि उठाएगा (आप इसे सही ढंग से सेट करके आसानी से दूर कर सकते हैं एमएसबिल्ड के लिए SGenToolPath पथ या इसके बजाय एमएसआईएल को लक्षित करें)। आईएमएचओ बिल्ड समय के मुद्दों से निपटने के लिए बेहतर है और जल्दी स्टार्टअप समय है।

1

इसे बंद करने से बिल्डिंग और रन टाइम त्रुटियां बंद हो गईं जो मुझे अपने आवेदन को v4.0 में अपग्रेड करने के परिणामस्वरूप मिल रही थीं। ऑनलाइन पोस्ट किए गए कई समाधानों को आजमाने के बाद मुझे एसजीईएन त्रुटियां मिल रही थीं। ऐसा करने से यह समस्या हल हो गई।

2

मुझे "क्लिकऑन" एप्लिकेशन पर हस्ताक्षर करने की आवश्यकता होने पर मुझे इसे बंद करना पड़ा। मैं जेनरेट सीरियलाइजेशन असेंबली के साथ इसे सफलतापूर्वक तैनात नहीं कर सका। MyAssembly.XmlSerializers.dll में मैनिफेस्ट फ़ाइल में संदर्भ था, लेकिन यह तैनाती पैकेज का हिस्सा नहीं था।