मैं एक पायथन स्क्रिप्ट से एक विजुअल स्टूडियो समाधान का निर्माण करता हूं। सबकुछ अच्छी तरह से काम करता है, सिवाय इसके कि मैं बिल्ड आउटपुट को कैप्चर करने में असमर्थ हूं।पायथन, सबप्रोसेस, डेवेनव, आउटपुट क्यों नहीं?
p = subprocess.Popen(['devenv', 'solution.sln', '/build'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(out, err) = p.communicate()
ret = p.returncode
यहाँ, दोनों out
और err
हमेशा खाली हैं। p.returncode
में देखी गई बिल्ड सफलता की परवाह किए बिना यह होता है।
आशाजनक लग रहा है, इसे जांच रहा है ... –
मुझे पता है कि यह एक सवाल है, लेकिन मैंने सोचा कि मैं इस पर अन्य लाभ के लिए टिप्पणी करूंगा। हां आप इसे एमएसबिल्ड के साथ पूरा कर सकते हैं और यह एक बहुत अच्छा टूल है। लेकिन अगर आपके पास कोई समाधान है जो वीएस सेटअप प्रोजेक्ट बनाता है, तो एमएसबिल्ड उन परियोजनाओं का निर्माण नहीं करता है। मेरे पास पाइथन स्क्रिप्ट हैं जो मेरे कुछ समाधानों का निर्माण करती हैं और फिर सर्वर और मेरे अपने संग्रह में सेटअप वितरित करती हैं लेकिन मैं msbuild का उपयोग करने में असमर्थ हूं। मैं devenv.com को एक कोशिश देने जा रहा हूं और देखता हूं कि मुझे इस तरह की त्रुटियां मिल सकती हैं और मुझे लगता है कि यह मेरे और मेरी स्थिति के लिए आदर्श होगा। – jlafay