2008-10-14 19 views
23

मेरे पास एक असेंबली है जिसमें बहुत अच्छी तरह से एक्सएमएल-आधारित दस्तावेज है, जिसका उपयोग उत्पाद के लिए सहायता-फाइलें उत्पन्न करने के लिए सैंडकासल के माध्यम से किया जाता है। जब हम प्रोग्रामर असेंबली का स्पष्ट रूप से उपयोग करते हैं तो हम विजुअल स्टूडियो में उचित इंटेलिजेंस प्रदान करने के लिए आउटपुट एक्सएमएल फाइलों का भी उपयोग करते हैं।असेंबली में इंटेलिजेंस एक्सएमएल दस्तावेज़ीकरण एम्बेड करना?

ऐसा करने के लिए, ऐसा लगता है कि हमने दोनों को असेंबली ("assembly.dll") और दस्तावेज़ीकरण ("assembly.xml") के साथ उपयोगकर्ता की आपूर्ति की है।

क्या असेंबली के भीतर दस्तावेज़ को एम्बेड करना संभव है, इसलिए हमें केवल एक असेंबली-फ़ाइल और विजुअल स्टूडियो की आपूर्ति करना होगा, जानकारी निकालने में सक्षम होगा? शायद संसाधन या कुछ ऐसा के रूप में एम्बेडेड?

उत्तर

13

दुर्भाग्यवश आपको दोनों को आपूर्ति करने की आवश्यकता होगी क्योंकि विजुअल स्टूडियो केवल इंटेलिसेंस के लिए एक्सएमएल दस्तावेज़ों को देखना जानता है।

+1

एक शर्म की बात है। समकक्ष दस्तावेज COM सर्वर (डीएलएल) में एम्बेडेड है। कल्पना करना मुश्किल है कि यह फ़ाइल आकार को अधिक बढ़ाएगा। – MarkJ

1

क्या मुझे कुछ याद आ रही है? मैं हमेशा सामान्य रूप से टिप्पणी करता हूं (3 स्लेश या 3 टिक अंक (vb) का उपयोग करके), निर्मित XML टैग का उपयोग करें और जब मैं असेंबली का उपयोग करता हूं तो मुझे इंटेलिजेंस मिलता है - मैं शायद ही कभी एक extrernal xml फ़ाइल का उपयोग करता हूं।

+2

क्या आपको कोड-समापन में इंटेलिजेंस मिलता है, या क्या आपको वास्तव में आपके द्वारा लिखे गए दस्तावेज मिलते हैं? अर्थात। वीएस विधि-सूची और उनके पैरामीटर को स्वचालित रूप से उत्पन्न कर सकता है और इस तरह स्पष्ट रूप से, लेकिन जब तक कि मैं यह सुनिश्चित नहीं करता कि दस्तावेज़-होस्ट पर दस्तावेज़ भी उपलब्ध है, मुझे दस्तावेज़ नहीं मिलते हैं। – ulrikj

5

यदि आप सी: \ विंडोज \ माइक्रोसॉफ्ट.NET \ Framework \ v2.0.50727 खोजते हैं तो आप पाएंगे कि आपके द्वारा अपने अनुप्रयोगों में संदर्भित सभी .NET असेंबली xml फ़ाइलों का उपयोग कर रहे हैं। दृश्य स्टूडियो केवल एक्सएमएल फ़ाइल मौजूद होने पर असेंबली के लिए इंटेलिजेंस प्रदान करेगा। उदाहरण के लिए, यदि आप विजुअल स्टूडियो को बंद करना चाहते हैं, तो System.Drawing.xml फ़ाइल को हटाएं और फिर VS को फिर से खोलें, उस असेंबली के लिए कोई इंटेलिजेंस नहीं होना चाहिए। इसके बाद आपको वीएस को बंद करने की आवश्यकता होगी, इसे वापस कॉपी करें, और फिर फिर से काम करने के लिए इंटेलिजेंस के लिए वीएस दोबारा खोलें।

+0

दरअसल, यदि आप एक्सएमएल फ़ाइल को हटाते हैं, तो अभी भी _some_ Intellisense है। आपको अपनी कोई भी "///" टिप्पणियां नहीं दिखाई देगी, लेकिन आपको अभी भी विधि हस्ताक्षर और अधिभार मिलेंगे। संभवतः, यह प्रतिबिंब द्वारा किया जाता है। –

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