Skip to main content

Msbuild के लिए waitforexit किसी भी सी # वापसी नहीं करता है


मैं प्रक्रिया का उपयोग करता हूं.एक बैच फ़ाइल शुरू करने के लिए प्रारंभ करें बैच फ़ाइल समानांतर में कई प्रोग्राम शुरू करने के लिए START कमांड का उपयोग करती है और फिर बाहर निकलती है। एक बार बैच फ़ाइल की प्रक्रिया हो जाती है। प्रक्रिया समाप्त हो जाती है और प्रक्रिया हो जाती है। एक्सेटकोड में सही निकास कोड होता है। लेकिन जब मैं प्रक्रिया को बुलाता हूं। वेटफॉरएक्सिट () यह कभी भी रिटर्न नहीं देता। कोड का निम्नलिखित भाग समस्या दर्शाता है यह एक बैच फ़ाइल बनाता है, इसे शुरू करता है और फिर प्रिंट करता है: इसे तब प्रिंट करना चाहिए: लेकिन यह कभी नहीं करता (भले ही हेटेक्ज़िटेड सत्य है और हमारे पास पहले से ही एक ExitCode है) मैंने देखा कि यह केवल तभी होता है जब बैच फ़ाइल START कमांड में होती है और जब मानक आउटपुट और मानक त्रुटि को रीडायरेक्ट किया जाता है। क्यों WaitForExit () कभी नहीं लौटा है इस प्रक्रिया से बाहर निकलने के लिए इंतजार करने का सही तरीका क्या है यह सिर्फ चुनाव प्रक्रिया के लिए सुरक्षित है। मैंने देखा है कि एक बड़ी समय समाप्ति के साथ प्रतीक्षाकर्ता (100000) को कॉल करना (जो निश्चित रूप से समाप्त नहीं होता है) प्रक्रिया पूरी होने पर तुरंत रिटर्न मिलता है अजीब। समयबाह्य बिना इसे लटका दिया। जब आप टाइम-आउट के बिना WaitForExit () को कॉल करते हैं, तो यह मूलभूत अंतर होता है, यह सुनिश्चित करता है कि पुनर्निर्देशित स्टडॉटर ने आईओएफ वापस कर दिया है। यह सुनिश्चित करता है कि आप प्रक्रिया द्वारा उत्पादित सभी आउटपुट को पढ़ते हैं। हम यह देख सकते हैं कि quotonOutputquot क्या करता है, लेकिन उच्च बाधाएं यह आपके कार्यक्रम को खारिज करती हैं क्योंकि यह मानते हुए कि आपका मुख्य थ्रेड बेकार है, जब यह वास्तव में WaitForExit () में फंस गया है। ndash हंस पासंत 3 नवम्बर 12:06 यह मानक ऑटपुट और स्टैंडर्ड एरर के ईवेंट-आधारित एसिंक्रोनस हैंडलिंग के विशिष्ट कार्यान्वयन में एक आर्टिफैक्ट (आईडी बग) लगता है। मैंने देखा है कि जब तक मैं आसानी से आपकी समस्या को पुन: उत्पन्न करने में सक्षम था, बस आपके द्वारा प्रदान किए गए कोड को चलाने के द्वारा (उत्कृष्ट कोड उदाहरण, जिस तरह से।)), प्रक्रिया वास्तव में अनिश्चित काल तक लटका नहीं आई थी दरअसल, बच्ची की दो प्रक्रियाओं को शुरू होने के बाद, यह प्रतीक्षाफॉरएक्सिट () से लौटा था खुद को बाहर निकल गया था। यह प्रक्रिया वर्ग के कार्यान्वयन का जानबूझकर भाग माना जाता है। विशेष रूप से, Process. WaitForExit () विधि में, प्रक्रिया समाप्त होने के बाद, प्रक्रिया को स्वयं ही संभाल कर लेता है, यह देखने के लिए जांचता है कि क्या स्टडआउट या स्टेडरर के लिए कोई पाठक बनाया गया है यदि ऐसा है, और यदि WaitForExit के लिए टाइमआउट मान ) कॉल अनंत है (यानी -1), वास्तव में पाठक के अंत के लिए इंतजार कर रहा है, पाठक (ओं) पर प्रत्येक संबंधित रीडर को केवल तब ही बनाया जाता है जब BeginOutputReadLine () या BeginErrorReadLine () विधि को कहा जाता है। Stdout और stderr धाराएं स्वयं तक बंद नहीं होती जब तक कि बाल प्रक्रियाओं को बंद नहीं किया जाता है। इसलिए उन धाराओं के अंत तक इंतजार करना बंद हो जाएगा, जब तक ऐसा नहीं होता। वह WaitForExit () को अलग तरीके से व्यवहार करना चाहिए, इसके आधार पर कि क्या किसी ने ऐसे तरीकों को बुलाया है जो धाराओं के ईवेंट-आधारित रीडिंग को शुरू करते हैं या नहीं, और विशेष रूप से उन धाराओं को सीधे पढ़ते हुए प्रतीक्षाफॉरएक्सिट () इस तरह से व्यवहार करने का कारण नहीं है, एपीआई में एक असंगति है जो इसे समझने और उपयोग करने में अधिक मुश्किल बनाता है। जबकि आईडी व्यक्तिगत रूप से इसे एक बग कहते हैं, मुझे लगता है कि यह संभव है कि प्रक्रिया वर्ग के क्रियान्वयनकर्ता इस असंगति से अवगत हैं और इसे उद्देश्य पर बनाया है। किसी भी स्थिति में, एपीआई के ईवेंट-आधारित भाग का उपयोग करने के बजाय कार्य-आसपास मानक-आउटपुट और मानक ईर्रर को सीधे पढ़ना होगा। (हालांकि जाहिर है, यदि उन कोडों पर इंतजार करना होता है, तो एक ही अवरुद्ध व्यवहार को तब तक देखेगा जब तक बच्चे की प्रक्रिया बंद नहीं हो जाती।) उदाहरण के लिए (सी, क्योंकि मुझे एफ़ अच्छी तरह से पता नहीं है कि इस तरह से एक उदाहरण उदाहरण के रूप में थप्पड़ मारना है :)): उम्मीद है कि उपर्युक्त कार्य-आस-पास या कुछ इसी तरह के मूल मुद्दे को संबोधित करेंगे जो आप में चलेंगे मेरे लिए धन्यवाद, नेल्स वोर्गार्ड क्राइस्टेनसेन ने मुझे प्रतीक्षाफॉरएक्सिट () विधि में समस्याग्रस्त लाइनों के निर्देशन करने के लिए धन्यवाद, ताकि मैं इस उत्तर को सुधार सकूं। एक कमांड लाइन से मैं सफलतापूर्वक एमएसबिल्ड चला सकता हूं: c: windowsmicrosoftframeworkv4.0.30319msbuild. exe helloworld. csproj t: Build जब मैं एसी प्रोग्राम से समतुल्य चलाता हूँ, प्रक्रिया वर्ग का उपयोग कर, msbuild कहता है कि ढांचा नहीं मिला है एक त्रुटि देता है त्रुटि SDKInstallRootv2.0 रजिस्ट्री कुंजी को सेट करने के लिए कहती है। Msbuild को c कोड स्ट्रिंग exePath system. IO. Pathbine (quot: windowsmicrosoftframeworkv4.0.30319quot, quotmsbuild. exequot) से चलाने के लिए कैसे करें प्रक्रिया नई प्रक्रिया पी तर्क quothelloworld. csproj टी: Buildquot p. StartInfo. Working डायरेक्टरी उद्धरण: msbuildhellowldquot p. StartInfo. RedirectStandardError सच p. StartInfo. RedirectStandardOutput सच p. StartInfo. UseShellExecute false p. Start () p. WaitForExit () स्ट्रिंग त्रुटियाँ p. StandardError. ReadToEnd () स्ट्रिंग आउटपुट p. StandardOutput. ReadToEnd () शुक्रवार, 04 फरवरी, 2011 3:40 PM आपकी पोस्ट के लिए धन्यवाद। ऐसा लगता है कि आपने SDKInstallRootv2.0 की रजिस्ट्री कुंजी को सेट नहीं किया है, तो आप यह जांचने का प्रयास कर सकते हैं कि क्या एक महत्वपूर्ण NamequotSDKInstallRootv2.0quot DataquotC के साथ है: WINDOWSMicrosoftFrameworkv2.0.50727quot निर्देशिका HKLMSoftwareMicrosoftFramework में हालांकि, यदि आप प्रोजेक्ट प्रोग्राम को बनाना चाहते हैं, तो मुझे लगता है कि बिल्डिंगइन के साथ ऐसा करना सबसे अच्छा तरीका है आप निम्न पोस्ट में कैओस कोड की कोशिश कर सकते हैं। आशा है कि मेरा जवाब मदद करता है फोरम में एमएसडीएन सब्सक्राइबर सपोर्ट यदि आपके पास हमारे समर्थन पर कोई प्रतिक्रिया है, तो कृपया हमसे संपर्क करें msdnmg microsoft ज़ीवेई चेन एमएसएफटीएस एमएसडीएन सामुदायिक सहायता हमें प्रतिक्रिया दें हमसे संपर्क करें या माइक्रोसॉफ्ट से कोड का नमूना प्राप्त करें कृपया उत्तर को उत्तर के रूप में चिह्नित करने के लिए याद रखें यदि वे मदद करते हैं और उन्हें अचिह्नित करते हैं तो कोई मदद नहीं प्रदान करें स्टीव रिचटर द्वारा जवाब के रूप में चिह्नित सोमवार, 07 फरवरी, 2011 3:15 अपराह्न सोमवार, 07 फरवरी, 2011 5:19 पूर्वाह्न

Comments

Popular posts from this blog

Incorporacion - ejercito - nacional - profesionales - de - विदेशी मुद्रा

ला डायरेकिन डे ला एस्क्यूला डे सबोफिशिअल्स सर्गेन्टो इनोकेंसिओ चिंच, अब तक 12 अप्रैल के लिए अब तक 23 अप्रैल के लिए ऑरिएंटासिना मिलिटरी डे सबोफिशिअल्स डेल क्यूरो प्रशासक के लिए तैनात हैं। डेमोक्रेटिक डेल गोबिर्नो, डेमोक्रेटिक डेमोक्रेटिक डेमोक्रेटिक डिफेंसेना और पोलिटिका डेल्टा डेल्टा डेमोक्रेटिक पॉलिटेका के साथ मिलकर काम करने के लिए डेमोक्रेटिक फाउंडेशन के लिए महत्वपूर्ण योगदान दिया गया है, और एजुकेशनल नेसिअनल टेक्नोलॉजीज और टेक्निकल प्रोफेशनलों में शामिल हैं। पैरा सर्विसेडो, पेशेवरों के लिए पेशेवरों के लिए पेशेवरों की जरूरतों को पूरा करने के लिए एस्पेरेटर्स की डिग्री है, पेशेवरों के लिए एक विशेष परीक्षा और पूर्व छात्रों की फीस, एमडीआई और पीईसीलजीज शामिल हैं। पारा ला इंस्क्रिप्शन, डिप्लोमा डिप्लोमा के लिए डिप्लोमा और लॉटरी रिजर्व के बारे में सलाहकार के बारे में जानकारी प्राप्त करने के लिए, अपने बांगट और एस्कुएला डे लॉगस्टिका में कॉमांडोस डे ज़ोना ओ डिस्ट्रिट्स मिलिटेरेस के लिए । लॉस पासोस एक पेशेवर इंसान के रूप में पेशे से जुड़े पेशेवरों की तुलना में, पेशेवरों के बारे में बात करते हैं,...

विदेशी मुद्रा व्यापारी नौकरी - मलेशिया

फ़ॉरेक्स ट्रेडर्स039 के नौकरी विदेशी मुद्रा बाजार उन लोगों को महान अवसर प्रदान कर रहा है जो उन्हें तैयार करने के लिए सक्षम और सक्षम हैं। इंटरनेट प्रौद्योगिकी के विकास के साथ, यह पेशा अब लगभग सभी के लिए उपलब्ध है आजकल, दुनिया के वित्तीय बाजारों में सबसे अधिक लाभदायक और लोकप्रिय व्यवसायों में से एक व्यापारी का व्यवसाय है। पहले एक एफएक्स व्यापारी होने का मुख्य लाभ क्या है, यह स्वतंत्रता और स्वतंत्रता की भावना है। विदेशी मुद्रा व्यापारियों की नौकरी उन लोगों के लिए विशेष रूप से अपील करती है, जो किसी विशेष स्थान और समय-सारिणी से बंधे नहीं रहना चाहते हैं। यदि आप अपने समय पर नियंत्रण में रहना चाहते हैं, तो आप विदेशी मुद्रा व्यापारियों के पेशे के लिए देख सकते हैं। आपके पास वित्तीय परिसंपत्तियों के प्रबंधन का अनुभव है Teletrade में एक व्यापारियों की नौकरी न केवल उच्च भुगतान और प्रतिष्ठित है बल्कि एक गतिशील और रोमांचक पेशा भी है। लाभदायक बने रहने के लिए, एक व्यापारी को वैश्विक अर्थव्यवस्था की घटनाओं के साथ अद्यतित रहना होगा। एक व्यापारी को महत्वपूर्ण आर्थिक घटनाओं की पहचान करने और उन्हें सही ढंग ...

Indicatore - ichimoku - विदेशी मुद्रा - कारखाना

जानें विदेशी मुद्रा: Ichimoku - एक संकेतक में एक संपूर्ण ट्रेडिंग सिस्टम Ichimoku रिपोर्ट लोकप्रिय अनुरोध द्वारा वापस आ गई है। यह आलेख Ichimoku नियमों के संबंध में मौजूदा व्यापार व्यवस्था को परिष्कृत करेगा। यदि आपका Ichimoku संकेतक के लिए नया है, तो यह एक-स्टॉप संकेतक है। Ichimoku चार्ट पर दिखाई देने वाले बादलों के लिए प्रसिद्ध है I बादल इस सूचक के भेदक कारक हैं। Ichimoku का उपयोग करने वाले कई व्यापारियों ने सफलतापूर्वक बादलों को महसूस किया है कि वे संभावित भविष्य की अधिक स्पष्टता के साथ आगे बढ़ने की अनुमति देते हैं। ऐसे अन्य पहलु हैं जिनसे आपको पेश किया जाएगा आपको समर्थन, प्रतिरोध और प्रवेश स्तरों पर अधिक जानकारी प्रदान करेगा। जिन लोगों को जानने की जरूरत है और उनके कार्य के लिए पांच Ichimoku गणनाओं का टूटना है: टी एनकाने-सेन उत्प्रेरक लाइन (उच्चतम निम्नतम निम्न) 2, पिछले 9 दौरों के लिए। टेनकन तेजी से चलती औसत है और हमारे द्वारा ट्रिगर लाइन के रूप में इस्तेमाल किया जाएगा जब यह पिछले 26 दिनों के लिए किजून सेन के ऊपर या नीचे पार किया जाएगा। किजन-सेन बेस लाइन (लाइट ब्लू लाइन) (उच्चतम निम्...