2010-08-06 11 views
8

विजुअल स्टूडियो 2010 में हमारे पास 'टूल्स | विकल्प | प्रोजेक्ट्स एंड सॉल्यूशंस | बिल्ड एंड रन' के तहत है (इंटरनेट पर सही छवि नहीं मिल सका) दो विकल्प MSBuild के प्रवेश के लिए:वीएस -2010: आउटपुट में न्यूनतम बिल्ड लॉग और लॉग फ़ाइल में विस्तृत लॉग

'MSBuild परियोजना उत्पादन का निर्माण शब्दाडंबर' और 'MSBuild परियोजना लॉग निर्माण शब्दाडंबर'।

तो मैं दृश्य स्टूडियो devenv भीतर उत्पादन ध्यान में रखते हुए एक न्यूनतम निर्माण लॉग प्राप्त करने के लिए सक्षम होने के लिए उम्मीद कर रही थी (सही) जबकि एक ही समय कुछ लॉग फ़ाइल में एक विस्तृत निर्माण लॉग में।

मुझे प्रकट होने के लिए बिल्ड लॉग फ़ाइल कॉन्फ़िगर करने का कोई तरीका नहीं मिल रहा है।

नोट: मैं अपना स्वयं का एमएसबिल्ड कॉन्फ़िगर नहीं करना चाहता हूं।

उत्तर

15

लॉग फ़ाइल केवल सी ++ परियोजनाओं के लिए समर्थित है। आपको बस दूसरों के लिए आउटपुट विंडो के साथ काम करना होगा।

+6

यह बहुत अधिक स्पष्ट होना चाहिए। – WaffleSouffle

10

http://msdn.microsoft.com/en-us/library/b0bktkzs.aspx का कहना है:

मध्यवर्ती फाइल निर्देशिका में निर्माण लॉग की जाँच करें देखने के लिए क्या वास्तव में मार डाला। बिल्ड लॉग का पथ और नाम MSBuild मैक्रो अभिव्यक्ति, $ (IntDir) \ $ (MSBuildProjectName) .log द्वारा दर्शाया गया है।

[और सबसे आसान तरीका है पाने के लिए वहाँ परियोजना करना है | सभी फ़ाइलें दिखाएं, तो समाधान एक्सप्लोरर के लिए जाने के लिए और सही Windows Explorer में फ़ोल्डर को खोलने के लिए क्लिक करें]

संपादित करें: हमारे असंतुष्ट -1er को खुश करने के ... आप स्पष्ट रूप से इस से अनुमान लगा सकते हैं कि आप <Execute Command="notepad.exe $(IntDir)\$(MSBuildProjectName).log"/> या इसी तरह के समान जोड़ सकते हैं यदि इसे सचमुच पॉप अप करने की आवश्यकता है, लेकिन यह मुझे समझ में नहीं आता है।

संपादित करें 2: उदाहरण।

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
    Other similar extension points exist, see Microsoft.Common.targets. 

साथ .csproj फ़ाइल संपादित करें, और खंड में ->

इसे करने के लिए परिवर्तित करें:

<Target Name="AfterBuild"> 
    <Exec Command="notepad.exe $(IntDir)\$(MSBuildProjectName).log" /> 
</Target> 

कारण मैं इसे बाहर का विस्तार था कि यह होगा है कष्टप्रद जल्दी हो जाओ। आप संभावित रूप से डाल सकते हैं:

notepad.exe $(IntDir)\$(MSBuildProjectName).log 

आपके पोस्ट बिल्ड चरण में। यह थोड़ा बेहतर काम करेगा क्योंकि यह केवल तब ही आग लग जाएगा जब संकलन वास्तव में कुछ करता है।

BTW अत्यधिक हाशिमी किताब हो रही सलाह देते हैं - यह यह सब सामान स्पष्ट करता है और आप जवाब है कि इसकी सीधा मान देने के बनाता है: पी दृश्य स्टूडियो से

+0

@ जीनियस -1र: क्या आप कृपया अपना डाउनवोट उचित ठहर सकते हैं? उद्धृत प्रासंगिक अंश के साथ, संदर्भ का हवाला देते हुए यह पूरी तरह से प्रश्न का उत्तर देता है। या क्या मैं कुछ न कुछ भूल रहा हूं? –

+0

क्या आप बता सकते हैं कि कहां या कैसे $ (IntDir) और $ (MSBuildProjectName) परिभाषित किए गए हैं? मेरे पास मेरे समाधान में कोई * .log फाइल नहीं है (मैंने स्पष्ट रूप से पूछने से पहले जांच की है)। साथ ही: आप <निष्पादन प्रविष्टि कहां निर्दिष्ट करते हैं? – Gerard

+1

अधिकांश गुण [MSBuild में पूर्वनिर्धारित] हैं (http://msdn.microsoft.com/en-us/library/bb629394.aspx)। सोचें 4.0 में IntDir नया है। इसका मतलब इंटरमीडिएट निर्देशिका है, जो आमतौर पर 'obj' ('bin' नहीं) होता है। इस सहायता? बीटीडब्लू अगर आप -1र हैं, तो मैं रवैया तय करने का सुझाव देता हूं - यहां लोग मदद करने की कोशिश कर रहे हैं, और कारण बताए बिना डोनवॉटिंग लोगों को जवाब देना नहीं चाहता है। –

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