2010-06-07 13 views
5

पर पहुंच सकें। मेरे पास .NET CF प्रोजेक्ट है। प्रोजेक्ट निर्देशिका में मैंने एक साधारण xml फ़ाइल (users.xml) डाली है जिसे डिवाइस द्वारा पढ़ा जाना है। जब मैं डिवाइस एमुलेटर पर एप्लिकेशन डीबग करता हूं और फ़ाइल को कोड से लोड करने का प्रयास करता हूं, तो अपवाद फेंक दिया जाता है (FileNotFoundException "Could not find file '\\users.xml'.")।.NET कॉम्पैक्ट फ्रेमवर्क - फ़ाइलों को कहां रखा जाए ताकि वे एम्यूलेटर

क्या डिवाइस एमुलेटर में कॉन्फ़िगरेशन फ़ाइलों को स्वचालित रूप से तैनात करने के लिए कोई तंत्र है?

+0

आप एक एम्बेडेड संसाधन के उपयोग पर विचार करना चाह सकते हैं http://bit.ly/cFuYOc http://bit.ly/a8DXOl – slf

+0

क्या दृश्य स्टूडियो करना आप का उपयोग करें? – Shaihi

+0

दृश्य स्टूडियो 2005 – cubesoft

उत्तर

2

आप पथ अपने कोड में गलत सेट है। फ़ाइल को तैनात करने के लिए स्टूडियो प्राप्त करने के लिए शैई या स्फिंक्स के निर्देशों का पालन करने के बाद, फ़ाइल तब एप्लिकेशन के साथ फ़ोल्डर में है।

इस तथ्य के आधार पर कि आपको एक त्रुटि मिल रही है कि इसे "\ users.xml" नहीं मिल रहा है, मुझे बताता है कि आप या तो इसे रूट फ़ोल्डर में विशेष रूप से देखने के लिए कह रहे हैं या आपने फ़ोल्डर निर्दिष्ट नहीं किया है।

विंडोज सीई की आवश्यकता है कि आप एक पूर्ण-योग्य मार्ग प्रदान करें, इसलिए आपके एप्लिकेशन को या तो पूर्ण पथ का उपयोग करना चाहिए (यानी "\ प्रोग्राम फ़ाइलें \ MyApp \ users.xml") या आपको पथ बनाने की आवश्यकता है :

Path.Combine(
    Path.GetDirectoryName(
    Assembly.GetExecutingAssembly().GetName().CodeBase 
), "users.xml"); 
+0

पथ। कॉम्बाइन (...) मेरे मामले में '\\ MyExe.exe \\ users.xml' \t और System.IO.DirectoryNotFoundException फेंक दिया गया है। क्या गलत है? – cubesoft

+0

बाह, यही है मुझे अपना कोड नहीं देखने के लिए मिलता है - मैंने इसे उत्तर में अपडेट किया है – ctacke

0

आप सामग्री में "बिल्ड एक्शन" सेट करने और "आउटपुट निर्देशिका में कॉपी" सक्षम करने के लिए फ़ाइल को अपने एप्लिकेशन में जोड़ने का प्रयास कर सकते हैं। इसके अलावा, मेरा मानना ​​है कि एमुलेटर वरीयताओं में एक विकल्प है जो एमुलेटर और होस्ट ओएस के बीच फ़ाइलों को साझा करने में सक्षम बनाता है।

+0

"एक्शन बनाएँ" सामग्री के लिए सेट और "कॉपी बाहर dir करने के लिए" काम नहीं करता। मैं "आउटपुट विंडो" में देख सकते हैं कि फ़ाइलों को तैनात किया गया है लेकिन जब मैं, फ़ाइल को लोड करने की कोशिश FileNotFoundException फेंक दिया गया है। – cubesoft

2

यहां वीएस2005 में ऐसा करने का तरीका बताया गया है। यह परियोजना के साथ फाइल तैनात करता है।
यह एक देशी आवेदन के लिए है - यह एक कामयाब एक के लिए समान होना चाहिए।

Content फ़ील्ड निर्दिष्ट करता है कि फ़ाइल को लक्ष्य पर तैनात करना है या नहीं। फ़ाइल को उसी निर्देशिका में एप्लिकेशन के रूप में तैनात किया गया है। मुझे यकीन है कि कैसे VS2005 तैनाती मामले में आप फ़ाइल अद्यतन, जिसका अर्थ है आप मैन्युअल रूप से डिवाइस पर इसे नष्ट करने के लिए आवश्यकता हो सकती है संभालती है नहीं कर रहा हूँ।

VS2005 http://www.freeimagehosting.net/uploads/255e2922df.jpg

0

एमुलेटर पर File->Configuration में जाओ और पीसी से एक निर्देशिका का हिस्सा। इस निर्देशिका इसलिए यदि आप test.csv की तरह वहाँ एक फ़ाइल डाल तो आप "संग्रहण कार्ड \ test.csv" कार्यक्रम में से उसे पढ़ सकते हैं अपने भंडारण कार्ड बन जाता है। (मैं VS2008 और विंडोज मोबाइल का उपयोग कर रहा 5.0 पॉकेट पीसी आर सी 2 एमुलेटर।

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