2009-12-11 11 views
9

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

उत्तर

15

Resource Files आपको जो चाहिए वह है।

+0

बिल्कुल सही धन्यवाद! –

+1

आपको यह समझाना चाहिए कि यह कैसे करना है, न केवल लिंक पेस्ट करें – Toolkit

+0

लिंक टूटा हुआ है! – LuizLoyola

0

हाँ, आप यह कर सकते हैं।

अपनी परियोजना में संसाधन फ़ाइल जोड़ें। विजुअल स्टूडियो में संसाधन फ़ाइल खोलें और संसाधन सम्मिलित करें पर क्लिक करें। आप बाहरी फाइलों सहित विभिन्न प्रकार के संसाधनों का चयन कर सकते हैं।

विजुअल स्टूडियो आपके लिए कोड उत्पन्न करेगा ताकि आप फ़ाइलों को Resources पहचानकर्ता के माध्यम से अपने नाम से रन टाइम पर बाइट एरे के रूप में पुनर्प्राप्त कर सकें।

6

निश्चित रूप से, आप अपने डीएलएल में संसाधन एम्बेड कर सकते हैं। तब रनटाइम पर तुम सिर्फ कार्य करें:

Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("com.stackoverflow.plugin.example.Foo.pdf"); 

यह आपको Foo.pdf फ़ाइल अपने DLL में एम्बेडेड के लिए एक धारा देना होगा। इस तथ्य पर ध्यान दें कि संसाधन नाम को उस प्रकार के नामस्थान द्वारा स्कॉप्ड किया जाना चाहिए जिससे आप विधि का आह्वान कर रहे हैं।

4

निश्चित रूप से, बस उन्हें VS.NET में "एम्बेडेड संसाधन" बनाएं (मान लें कि आप इसका उपयोग कर रहे हैं)। फिर आप उन्हें संसाधन API के माध्यम से पढ़ सकते हैं या बस Assembly.GetManifestResourceStream() के साथ पढ़ सकते हैं।

0

वैकल्पिक विकल्प के रूप में, यदि आपको उपयोगकर्ता मशीन पर फ़ाइलों को अनपैक और सहेजने की आवश्यकता है (एक सीएम फ़ाइल कहें जिसे आप अपने ऐप के बाहर एक्सेस करना चाहते हैं) तो आप ज़िप फ़ाइलों के साथ भी ऐसा ही कर सकते हैं।

आपने कहा था कि आप चाहते हैं कि फ़ाइल आपके ऐप पर "खींचा" जाए। बस अपनी डीडीई घटनाओं को जांचने के लिए जांचें कि फ़ाइल एक ज़िप है (शायद मेटाडाटा के साथ एक जार की तरह कुछ भी उपयोग कर रही है) और वास्तविक प्लगइन सहित आवश्यक फ़ाइलों को अनपैक करें।

यह ओपनएक्सएमएल दस्तावेज़ों के समान विचार है, वे वास्तव में छिपाने में बस ज़िप हैं।

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

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