2016-05-05 13 views
6

संकलन मैं कोड की निम्न पंक्ति की है।IOException जब गतिशील कोड

अतिरिक्त जानकारी: प्रक्रिया फ़ाइल नहीं पहुँच सकता 'C: \ Users \ उपयोगकर्ता नाम \ AppData \ Local \ अस्थायी \ dgl5fb1i.err' क्योंकि यह अन्य प्रक्रिया द्वारा उपयोग किया जा रहा है।

हालांकि, यह एक बड़े कार्यक्रम का हिस्सा है जो 8 जीबी से अधिक रैम का उपभोग करता है। 16 जीबी रैम वाली प्रणाली पर, यह अपवाद नहीं फेंक दिया जाता है। कोड जो गतिशील रूप से संकलित है, अच्छी तरह से संकलित करता है और चलता है। प्रोग्राम पर्याप्त रैम वाले सिस्टम पर किसी भी त्रुटि के बिना चलता है। कार्यक्रम x64 के लिए संकलित है। ध्यान दें कि मुझे OutOfMemoryException या कोई संकेत नहीं है कि प्रोग्राम स्मृति से बाहर है। कार्य प्रबंधक में IOException फेंकने से पहले मेमोरी उपयोग लगभग शीर्ष तक पहुंच जाता है।

क्या इस व्यवहार का कारण हो सकता है और किसी को भी एक समाधान का सुझाव कर सकते हैं?

संपादित

मैं संशोधित आवेदन काफी कम स्मृति का उपयोग करने के लिए। त्रुटि तब भी बनी रहती है जब एप्लिकेशन में पर्याप्त उपलब्ध स्मृति हो। समस्या अभी भी एक मशीन पर होती है।

इस पोस्ट में निम्नलिखित से संबंधित हो सकता: Prevent CompileAssemblyFromSource from generate temp files with duplicate file name

उत्तर

4

मैं समानांतर में कई संकलन चला रहा था। प्रत्येक संकलन के लिए अस्थायी निर्देशिका को बदलना आवश्यक था, ताकि संघर्ष न हो।

CSharpCodeProvider prov = new CSharpCodeProvider(); 
CompilerParameters parms = new CompilerParameters(); 
parms.TempFiles = new TempFileCollection(tempdir); 
+0

एक ही समस्या। तो मुझे लगता है कि मुझे एक ही समाधान की आवश्यकता होगी ... धन्यवाद! –

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