2013-07-24 14 views
5

यहां मेरी बैट फ़ाइल है।MSBuild के माध्यम से संकलन आईडीई के माध्यम से इतना लंबा क्यों लेता है?

call "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin\rsvars.bat" 
msbuild.exe C:\Work\Project1.dproj /t:Rebuild /p:Config=Debug;Platform=Win32 

ऐसा लगता है कि यह अच्छी तरह से काम करता है; हालांकि, इसे बनाने में 12 मिनट लगते हैं। आईडीई में पूर्ण निर्माण करते समय उसी कॉन्फ़िगरेशन/प्लेटफ़ॉर्म संयोजन में 2 मिनट 30 सेकंड लगते हैं। मैं मंदी के कारण का पता लगाने में असफल रहा हूं। मुझे कोई विचार या सेटिंग्स देखना चाहिए?

संपादित करें: मैं IDEFixPack 5.3 का उपयोग कर रहा था और बिल्ड समय ~ 2.5 मिनट प्राप्त कर रहा था। IDEFixPack परिणामों को हटाकर आईडीई में 12 मिनट का निर्माण भी होता है।

+0

हम इसे पुन: पेश कैसे कर सकते हैं? –

+1

दुर्भाग्य से मुझे नहीं पता। आज मेरा पहला समय एमएसबिल्ड के साथ खेल रहा है, इसलिए मुझे इसके बारे में पर्याप्त जानकारी नहीं है ताकि एक पुनरुत्पादित परिदृश्य प्रदान किया जा सके। मैं एक नमूना ऐप के साथ कोशिश कर सकता हूं, लेकिन मेरी वाणिज्यिक एप्लिकेशन की तुलना में शर्तें बहुत अलग होने वाली हैं, जिनमें 3,560,000+ लाइनें हैं। मुझे यकीन नहीं था कि msbuild में ज्ञात संकलक स्विच थे जिन्हें मुझे देखना चाहिए। –

+0

मैं आईडीई के बारे में एक विवरण भूल गया। मैं आईडीई फिक्स पैक का उपयोग करता हूं, लेकिन जब मैंने सक्षम बनाम अक्षम किया है, तो मैंने कभी भी इसके बीच कहीं भी प्रदर्शन अंतर नहीं देखा है, हालांकि यह संभवतः अंतर के बहुत छोटे हिस्से के लिए खाता है। –

उत्तर

2

डेविड हेफ़र्नन के सुझाव के अनुसार मैंने आईडीईफिक्सपैक हटा दिया और मैं उसी 12 मिनट के निर्माण के समय देखता हूं जैसा कि मैं एमएसबिल्ड के साथ करता हूं।

+1

+1 उस स्थिति में आप अपनी कमांड लाइन को तेज करने के लिए एंडी के फास्ट डीसीसी का उपयोग करने में सक्षम होना चाहिए –

+0

बहुत बढ़िया। मुझे उस चिमटा से अवगत नहीं था। मैं जांच करूँगा। हमारी निर्माण प्रक्रिया कुछ हद तक जटिल हो गई है। हम फाइनलबिल्डर का उपयोग करते हैं जो अच्छी तरह से काम करता है, लेकिन डेल्फी बिल्ड एक्शन ऑटो-इंक्रिमेंट वर्जन नंबर सेटिंग खो देता है और संस्करण संख्याएं बेकार हो जाती हैं। Msbuild को कॉल करने से पहले मेरे पास dproj संस्करण सेटिंग्स को अद्यतन करने के लिए उपयोगिता है। मुझे आपकी पोस्ट StackOverflow पर स्विच करने के लिए सबसे उपयोगी मिल गई है। धन्यवाद! –

+0

कुछ छोटी मदद के लिए खुशी हुई! –

1

मुझे लगता है कि कुछ ऐसे पैकेज हैं जिनके लिए आईडीई किसी भी तरह से संकलित डीसीयू को पथ में पा सकता है और एमएसबिल्ड केवल स्रोत ढूंढ सकता है।

क्या MSBuild एक संकलन लॉग आउटपुट नहीं करता है जिसे आप यहां जांच या पोस्ट कर सकते हैं?

+2

ऐसा क्यों होगा? नए एमएसबिल्ड आधारित निर्माण का पूरा बिंदु यह है कि कमांड लाइन और आईडीई समान खोज पथ का उपयोग करता है। मुझे लगता है कि यह एक टिप्पणी के रूप में बेहतर होगा। –

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