2010-12-08 12 views
5

MonoDevelop C# और एम्बेड करने की कोशिश कर रहे एक संसाधन फ़ाइल (आप जानते हैं कि .resources एक्सटेंशन है)। मैं रेज फ़ाइल को रनटाइम पर पढ़ने के लिए ऐप के तारों को रखना चाहता हूं। मैं उन्हें EXE में एम्बेड करना चाहता हूं। लेकिन मैं यह नहीं समझ सकता किमैं MonoDevelop में संसाधन फ़ाइल का उपयोग कैसे करूं?

  1. .resources फ़ाइल को प्रारूपित करें (क्या यह string1 = "हैलो वर्ल्ड" जैसा कुछ है)?
  2. EXE
  3. एम्बेडेड फ़ाइल को पढ़ने में फ़ाइल एम्बेड (ResourceReader.GetResourceData एक फ़ाइल चाहता है)

अन्यथा मुझे लगता है कि मैं इस विचार को त्याग देगा और बस अपना स्वयं का पाठ फ़ाइल में पाठ डाल दिया। धन्यवाद

उत्तर

10

वहाँ दो तरीके हैं:

आसान तरीका:

जाओ समाधान साइडबार और इस परियोजना का नाम है जहाँ आप एम्बेडेड संसाधन में रहने के लिए चाहते हैं उस पर राइट क्लिक करने के लिए और प्रासंगिक मेनू में जाना जोड़ने के लिए -> फ़ाइलें जोड़ें और उन फ़ाइलों का चयन करें जिन्हें आप जोड़ना चाहते हैं। यदि आप उन्हें रूट प्रोजेक्ट फ़ोल्डर के आसपास नहीं चाहते हैं तो आप एक फ़ोल्डर जोड़ सकते हैं और प्रक्रिया वही है जो प्रोजेक्ट नाम के बजाय जोड़े गए फ़ोल्डर पर राइट क्लिक करें।

एक बार ऐसा करने के बाद फ़ाइल (ओं) और गुण साइडबार में चयन करें, आपको कई विकल्प दिखाई देंगे, "क्रिया के रूप में एम्बेड करें" में "कार्रवाई करें" को बदलें और आप कर चुके हैं। दरअसल आपको वहां अधिक सहायक विकल्प मिलेंगे।

ऐसा नहीं है आसान तरीका:

संपादित अपने .csproj फ़ाइल जो परियोजना के रूट फ़ोल्डर में है और इस तरह फ़ाइलों को जोड़:

<ItemGroup> 
    <EmbeddedResource Include="Resources\file1.txt" /> 
    <EmbeddedResource Include="Resources\file2.txt" /> 
    </ItemGroup> 

नोट करने के लिए एक बैकस्लैश है कि वहाँ विभाजित फ़ोल्डर का नाम और फ़ाइल नाम। आइटम समूह समूह और उसके बच्चों को मुख्य <Project> टैग

+1

एक चेतावनी - मुझे लगता है कि एमडी केवल foo.resx -> foo.resources संकलन का समर्थन करता है, foo.txt -> foo.resources नहीं, इसलिए टेक्स्ट फाइलें आपका उदाहरण सीधे एम्बेडेड होगा। –

+0

तो, क्या फाइलों को उस एक्सटेंशन के साथ होना चाहिए? –

+0

resx स्रोत फ़ाइलों के लिए एक विशिष्ट प्रारूप है। –

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