2010-01-15 19 views
14

बिल्ड प्रक्रिया को डीबग करने के लिए, मैंने वीएस प्रोजेक्ट फ़ाइल में कार्यों के लिए <Message> तत्वों को जोड़ने का प्रयास किया है। हालांकि, वीएस आउटपुट विंडो में लिखे गए पाठ पर तत्वों का कोई प्रभाव नहीं पड़ता है।एमएसबिल्ड से वीएस आउटपुट विंडो में संदेश कैसे आउटपुट करें?

क्या निर्माण के लिए मार्कअप जोड़कर, वीएस आउटपुट विंडो में संदेश लिखने का कोई तरीका है?

उत्तर

28

शायद this मदद कर सकता है?

उपकरण के अंतर्गत - विकल्प - परियोजनाओं और समाधान - निर्माण और भागो, वहाँ MSBuild परियोजना का निर्माण उत्पादन शब्दाडंबर कॉम्बो बॉक्स है। यह नियंत्रित करता है कि कितनी जानकारी आप आउटपुट विंडो में देखना चाहते हैं।

+2

धन्यवाद, ऐसा हुआ। यहां तक ​​कि महत्व = "उच्च" के साथ, संदेश डिफ़ॉल्ट रूप से आउटपुट विंडो में नहीं लिखे जाते हैं। – mackenir

+0

यह भी ध्यान दें कि यदि आपका कस्टम कार्य डीएल रिलीज कॉन्फ़िगरेशन के साथ बनाया गया है, तो Debug.WriteLine को अनदेखा कर दिया जाएगा। काम करने के लिए आपको डीबग में निर्माण करना होगा। मैंने अभी पुष्टि की है कि –

-1

मुझे लगता है कि यह काम करना चाहिए (यह मेरे लिए हुआ करता था): <Message Text="blah" />

(और निश्चित रूप से, कोड से, System.Diagnostics.Debug.WriteLine ("blah");)

+0

डीबग। राइटलाइन() * रन-टाइम * –

+0

पर डिबग कंसोल पर आउटपुट करता है इसलिए मैंने उपरोक्त "कोड से" रखा है, है ना? और भी, कुछ भी आपको एक कस्टम msbuild एक्सटेंशन लिखने से रोकता है और System.Diagnostics.Debug.WriteLine() का उपयोग करता है, है ना? – Ariel

0

यह एक पुराना सवाल है, मैं अभी यहां आया क्योंकि मुझे इसकी आवश्यकता थी, और यह बस कोशिश कर रहा था।

अपनी परियोजना गुण> ईवेंट बिल्ड आपको लगता है कि बाद के निर्माण घटना कमांड लाइन में की तरह कुछ जोड़ सकते हैं में:

echo This is my message, no quotes required!

और फिर आप के बाद उत्पादन में यह देखने के लिए सक्षम हो जाएगा एक सफल निर्माण (यदि सफल निर्माण पर चलाने के लिए कॉन्फ़िगर किया गया है, जो मेरा मामला है)।

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