2012-07-17 13 views
60

मैं विजुअल स्टूडियो एक्सप्रेस 2012 का उपयोग कर रहा हूं। लॉग फ़ाइल का स्थान कहां है? मैंने उस फ़ोल्डर में खोज की है जहां मेरा समाधान और प्रोजेक्ट संग्रहीत हैं, लेकिन कोई भी .log फ़ाइल नहीं ढूंढ पा रहा है। दृश्य स्टूडियो सेMSBuild लॉग के लिए डिफ़ॉल्ट स्थान क्या है?

enter image description here

+0

कोई डिफ़ॉल्ट .log फ़ाइल नहीं है। आउटपुट विंडो में देखें। –

+3

@ हंस, मेरे मामले में, आउटपुट विंडो में संदेश हैं कि "बिल्ड लॉग में अधिक जानकारी उपलब्ध है।" तो कहीं अलग लॉग है। मुझे अभी तक यह नहीं मिला है। –

उत्तर

75

लॉग फ़ाइल केवल सी ++ परियोजनाओं के लिए समर्थित है:

यह प्रवेश के लिए विन्यास है। आपको सिर्फ के साथ आउटपुट विंडो के साथ काम करना होगा। , the file is atVS2010: minimal build log in output and detailed log in log file

और मामले में आप एक सी ++ परियोजना के लिए यह करने के लिए होती हैं::

इस समान धागा देखें

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

+10

मुझे लगता है कि यह विजुअल स्टूडियो की मूर्खतापूर्ण है कि फ़ाइल में विस्तृत लॉगिंग न हो। ओह ठीक है, एक वास्तविकता मुझे स्वीकार करना है। आपके उत्तर के लिए धन्यवाद, @Dmitry – hanxue

+5

@hanxue - इसमें एक लॉग है। वह लॉग सिर्फ एक फाइल को नहीं भेजा गया है। अगर आप लॉग फ़ाइल चाहते हैं, तो कमांड लाइन से msbuild चलाएं। –

+13

फिर क्यों नहीं कहता है :-( –

10

MSDN प्रलेखन इस बारे में बहुत स्पष्ट है (और आप इसे पसंद करने वाले नहीं है!):

https://msdn.microsoft.com/en-us/library/jj651643.aspx

आपसे कहा जाए कि:

निर्माण लॉग बनाने के लिए प्रबंधित-कोड प्रोजेक्ट के लिए फ़ाइल मेनू बार पर, बिल्ड, बिल्ड समाधान चुनें।

आउटपुट विंडो में, निर्माण से जानकारी को हाइलाइट करें, और उसके बाद इसे क्लिपबोर्ड पर कॉपी करें।

टेक्स्ट एडिटर जैसे नोटपैड खोलें, फ़ाइल में जानकारी पेस्ट करें, और फिर इसे सहेजें।

+7

कौन सा है जब तक आप क्लिपबोर्ड पर प्रतिलिपि बनाने का प्रयास नहीं करते हैं, तब तक सभी अच्छी तरह से और अच्छे होते हैं जब तक कि आप डायग्नोस्टिक आउटपुट का उपयोग नहीं कर रहे हैं और वीएस एक 'स्मृति से बाहर' अपवाद फेंकने का फैसला करता है। वास्तव में एक मूलभूत बेवकूफ निर्णय है जो किसी फ़ाइल में बिल्ड लॉग भेजने का समर्थन नहीं करता है आईडीई। लेकिन हे हो, ऐसा जीवन है। –

+0

एक पाठ फ़ाइल में निर्माण पाइप? msbuild mysln.sln> output.txt (शायद आपके स्लॉन को संकलित करने के लिए पैरामीटर जोड़ने की आवश्यकता होगी, लेकिन आपको सही वर्बोजिटी स्तर पर बनाम आउटपुट विंडो iirc से छीनने में सक्षम होना चाहिए) –

1

हालांकि यह सच है कि वी.एस. इस सीधे अनुमति नहीं है, यह अभी भी संभव "अंदर" VS2015 MSBuild के साथ निर्माण और दोनों का निर्माण खिड़की उत्पादन और लॉग फ़ाइल प्राप्त करने के लिए, इस प्रकार है: (यकीनन यह एक है एक हैक का बिट।)

  1. अपने वीएस प्रबंधित समाधान में, एक नई परियोजना जोड़ें (चलिए इसे 'मेक' कहते हैं)। ए। प्रोजेक्ट प्रकार जो आप चाहते हैं वह दृश्य सी ++/एनमेक प्रोजेक्ट है।
  2. कमांड लाइन पर आवश्यक MSBuild आदेशों को परिभाषित करें (नीचे देखें)।
  3. सामान्य प्रबंधित परियोजनाओं के बजाय एनएमके परियोजना बनाने के लिए समाधान कॉन्फ़िगरेशन बदलें।

यह एक ऐसी परियोजना तैयार करेगा जिसमें बिल्ड, रीबिल्ड और क्लीन कमांड लाइन हों, जहां आप सीधे MSBuild निष्पादित कर सकते हैं।उदाहरण के लिए:

पुनर्निर्माण: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean,Build

बिल्ड: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Build

साफ: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean

आप एक से अधिक MSBuild.exe कमांड लाइन आदेश कई परियोजनाओं के निर्माण के लिए निर्दिष्ट कर सकते हैं। सामान्य बिल्ड-द-पूरे-समाधान परिणाम के लिए आप केवल अंतिम अंत असेंबली को लक्षित कर सकते हैं और निर्भरता ग्राफ व्यक्तिगत लक्ष्यों को उत्पन्न कर सकते हैं।

यह एक .log फ़ाइल का उत्पादन करेगा, जहां NAME आपके द्वारा उपयोग की जाने वाली एनएमके परियोजना का नाम है। उपर्युक्त उदाहरण में, लॉग make.log होगा।

एक काम कर उदाहरण GitHub पर उपलब्ध है: https://github.com/bitblitz/VS_MsbuildExample (VS2015 के साथ परीक्षण किया गया)

ध्यान दें कि अलग-अलग परियोजनाओं सीधे निर्माण अभी भी व्यवहार वी.एस. सामान्य के साथ निर्माण होगा, लेकिन आप वी.एस. अंदर पूर्ण समाधान का निर्माण और प्राप्त कर सकते हैं निर्माण लॉग

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