द्वारा आवंटित बैच फ़ाइलों से बाहर निकलने वाले कोडों का सम्मान करना मेरे पास एक बैच फ़ाइल है जो exit
आदेश का उपयोग निकास कोड लौटने के लिए कर रही है।msbuild
यह बैच फ़ाइल, कुछ मामलों में, कमांडलाइन से इंटरैक्टिव रूप से लागू की जा सकती है, या अन्य मामलों में, Exec
कार्य का उपयोग करके एमएसबिल्ड परियोजना के हिस्से के रूप में चलाया जा सकता है।
- अगर मैं अपने बैच फ़ाइल यह अच्छी तरह से काम करता है और MSBuild त्रुटि कोड देखता भीतर
exit %errorlevel%
उपयोग करते हैं, जो एक कमांड विंडो से बैच फ़ाइल चल रहा है में cmd.exe की एक अशिष्ट बाहर निकलें मिल जाएगा तथापि एक इंटरैक्टिव उपयोगकर्ता ये मामला। - यदि मैं
exit /b %errorlevel%
का उपयोग करता हूं तो इंटरैक्टिव परिदृश्य को कठोर निकास नहीं मिलता है, लेकिन इसका मतलब यह भी है किcmd
मेरेExec
कार्य द्वारा लॉन्च नहीं किया गया है, और इसलिए एमएसबिल्ड को रिटर्न वैल्यू नहीं दिखता है।
दोनों समस्याओं के लिए एक समाधान के रूप में, मैं exit /b
उपयोग करते हैं लेकिन इस तरह अपने निर्माण स्क्रिप्ट से बैच फ़ाइल शुरू करने की कोशिश कर रहा हूँ:
<Exec Command="Batch.cmd params & exit %errorlevel%" />
विचार किया जा रहा है कि मैं स्पष्ट रूप से 'गैर टर्मिनल ले 'exit /b
से वापस लौटें और पर के बाहर इस मान को लागू करने के लिए मैन्युअल रूप से कॉल करें जहां Exec
बिल्ड कार्य इसे देख सकता है।
यह सही समाधान की तरह लगता है, लेकिन यह काम नहीं कर रहा। Exec
अभी भी सही त्रुटि मान नहीं मिलता है।