2009-12-20 11 views
54

मुझे एक या दूसरे का उपयोग कब करना चाहिए?सी # एप्लिकेशन में संसाधन और एम्बेडेड संसाधन के बीच क्या अंतर है?

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

जानकारी के लिए धन्यवाद।

उत्तर

50

"संसाधन" और "सामग्री" निर्माण कार्य यूआरआई का उपयोग करके डब्ल्यूपीएफ संसाधनों तक पहुंचने के लिए हैं। हालांकि "एम्बेडेड संसाधन" पूर्व प्रौद्योगिकियों के लिए है। हालांकि दोनों विकल्प असेंबली में संसाधन को एम्बेड करते हैं लेकिन WPF के लिए "संसाधन" विकल्प का उपयोग किया जाता है।

MSDN में संपूर्ण विवरण privides here

+0

आप सही हैं! मैंने संसाधनों को पुन: संसाधन और पुन: निर्मित करने के लिए अपनी WPF प्रोजेक्ट में सभी छवियां सेट की हैं। अब जब मैं डीबग फ़ोल्डर में नेविगेट करता हूं तो मुझे फ़ाइलों को कहीं भी नहीं मिल रहा है, वे .exe का हिस्सा होना चाहिए, बिल्कुल मैं इसे कैसे चाहता हूं। पर्याप्त धन्यवाद नहीं कर सकता! :) –

2

के रूप में MSDN द्वारा रिपोर्ट,

एंबेडेड संसाधनों सबसे अच्छा विकल्प आप आवेदन संसाधन साझा करने के लिए करता है, तो कर रहे हैं (.resx) कई परियोजनाओं के बीच फ़ाइलें। उदाहरण के लिए, आप एक साझा संसाधन फ़ाइल कि अपनी कंपनी के लोगो में शामिल है, ट्रेडमार्क जानकारी , और इस तरह, एम्बेडेड संसाधनों का उपयोग कर मतलब है कि आप प्रतिलिपि करने के लिए केवल .resx फ़ाइल और नहीं जुड़े संसाधन डेटा फ़ाइलों है।

आप सीधे एम्बेडेड संसाधन संपादित नहीं कर सकते हैं। यदि आप एम्बेडेड संसाधन को संपादित करने का प्रयास करते हैं, तो आपको संदेश प्राप्त होगा जिससे आप आइटम को संपादित करने के लिए एक लिंक किए गए संसाधन में कनवर्ट करने के लिए संकेत दे रहे हैं। रूपांतरण की सिफारिश की जाती है लेकिन वैकल्पिक। आपको उन्हें बाहरी प्रोग्राम में अपने संशोधनों को निर्यात करना होगा, और फिर उन्हें अपनी परियोजना में आयात करें।

+2

यह सवाल का जवाब नहीं देता है: एम्बेडेड संसाधन और संसाधन के बीच क्या अंतर है? आप केवल एम्बेडेड संसाधनों को संबोधित करते हैं। – Grokys

+2

प्रश्न का पाठ कहता है, "मुझे एक या दूसरे का उपयोग कब करना चाहिए?"; मुझे लगता है कि मैंने इसका उत्तर दिया। प्रश्न वास्तव में दो हैं। – kiamlaluno

4

एक WPF संसाधन (कार्रवाई का निर्माण = संसाधन) के रूप में कोर नेट ढांचे के द्वारा समर्थित एम्बेड किए गए संसाधन लाभ उठाता है, लेकिन एक pack URI के माध्यम से एम्बेडेड संसाधन तक पहुँचने के लिए समर्थन जोड़ता है। MSDN से:

WPF संसाधन फ़ाइलों नहीं संसाधनों की एम्बेडेड या लिंक किए गए प्रकार है कि विधानसभा संसाधनों के लिए कोर .नेट फ्रेमवर्क समर्थन का उपयोग कर विन्यस्त किया जा सकता जैसे ही हैं। जबकि WPF संसाधन फ़ाइलें कोर का लाभ उठाती हैं .NET फ्रेमवर्क एम्बेडेड संसाधन समर्थन, पैक यूआरआई का उपयोग कर WPF संसाधन फ़ाइलों तक पहुंचने की क्षमता नामस्थानों का उपयोग करके आसान है।

+3

@ डैनडब्ल्यू मैं मदद नहीं कर सकता लेकिन यह अजीब लगता है कि जब आप मूल रूप से पोस्ट किए जाने के सात साल बाद लिंक वैध हो जाते हैं तो आप एक लिंक के बारे में शिकायत करेंगे। यदि यह एक लिंक-केवल उत्तर था तो आपके पास एक बिंदु होगा, लेकिन मूल्यवान पूरक जानकारी के लिए लिंक प्रदान करने में कुछ भी गलत नहीं है जो वास्तविक उत्तर में शामिल करने के लिए जरूरी नहीं है। – jmbpiano

+0

@DanW ??? गंभीरता से? – pixel

0

सभी रिपोर्ट्स के लिए धन्यवाद, कि मुझे अधिक सटीक लगता है जहां समस्या थी मदद की: मेरे लिए, यह कार्य पट्टी कि संसाधनों के रूप में बनाया गया था में परियोजना आइकन रूप में इस्तेमाल किया छवियों था और होना ही था सामग्री के रूप में बनाया गया। अन्य सभी छवियों को संसाधनों के रूप में बनाया जा सकता है, कोई समस्या नहीं।

उम्मीद है कि यह भविष्य के लिए मदद करता है।

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