मेरे पास छवि फ़ाइलों के साथ संसाधन असेंबली है जो संसाधन या सामग्री निर्माण कार्य का उपयोग करके बनाई गई है। यह इन फ़ाइलों को उरिस का उपयोग करके सुलभ बनाता है। हालांकि मुझे ऐसे संसाधनों का आकलन करने का तरीका नहीं मिल रहा है।
अगर मैं एंबेडेड संसाधनके निर्माण कार्रवाई सेट यह निम्न कोड के साथ फ़ाइलों की गणना करने में संभव हो जाता है:रनटाइम पर .NET असेंबली संसाधनों का आकलन
string[] resources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
लेकिन यह बदले में इन फ़ाइलों Uris का उपयोग कर दुर्गम बना देता है।
सवाल है - कैसे संसाधनों है कि या तो संसाधन या सामग्री निर्माण कार्रवाई के साथ संकलित किया गया है की गणना करने में?
नोट: थॉमस लेवेस्क ने बताया कि असेंबलीएसिओटेड कॉन्टेंटफाइलएट्रिब्यूट का लाभ उठाकर ऐसे संसाधनों को गिनना संभव है, लेकिन ऐसा लगता है कि केवल डब्ल्यूपीएफ एप्लीकेशन असेंबली के लिए काम करता है, न कि क्लास लाइब्रेरी के लिए। तो सवाल अभी भी खुला है।
यह केवल तभी काम करता है जब असेंबली में ऐसे गुण सेट होते हैं - उदा। WPF एप्लिकेशन यह स्वचालित रूप से सेट हो जाएगा और केवल * सामग्री * निर्माण कार्रवाई के साथ बनाई गई फ़ाइलों के लिए। क्लास लाइब्रेरी असेंबली के मामले में ऐसी कोई विशेषताएं नहीं हैं। और असेंबली कोड के भीतर भी मुझे ऐसे संसाधनों का आकलन करने का तरीका नहीं मिल रहा है। –
अद्यतन में कोड मूल प्रश्न का उत्तर देता है, लेकिन फिर भी एक सार्वभौमिक समाधान नहीं है :) कक्षा पुस्तकालय के मामले में - यह * सामग्री *, * संसाधन * और * एम्बेडेड संसाधन * निर्माण कार्य के साथ बनाए गए सभी संसाधनों का आकलन करता है। लेकिन डब्ल्यूपीएफ एप्लीकेशन के मामले में यह केवल * एंबेडेड रिसोर्स * बिल्ड एक्शन के साथ बनाए गए संसाधनों का आंकलन करता है। तो ऐसा लगता है कि डब्ल्यूपीएफ ऐप में सभी संसाधनों का आकलन करने के लिए उपरोक्त दोनों विधियों का संयोजन आवश्यक है। –
क्या इस टुकड़े को वापसी मूल्य को फ़िल्टर करने की आवश्यकता के बिना सीधे किसी विशेष फ़ोल्डर से संसाधन प्राप्त करने के लिए परिष्कृत किया जा सकता है? (कहें, मेरे पास कई संसाधन फ़ोल्डर्स हैं (समाधान एक्सप्लोरर से देखा जा सकता है), और उनमें से एक में छवियां हैं, जिन्हें मैं लोड करना चाहता हूं।) – ziyuang