2010-06-07 8 views
6

मेरे पास कई परियोजनाओं के साथ एक बड़ी। एसएलएन फ़ाइल है।विजुअल स्टूडियो सबकुछ बना रहता है

मैंने अभी प्रोजेक्ट ए में बदलाव किया है और यह नौ अन्य परियोजनाएं बनाता है जो एक संदर्भ प्रोजेक्ट करते हैं, लेकिन इसमें कोई कोड परिवर्तन नहीं था।

क्या इस प्रक्रिया को गति देने के लिए कोई चाल है?

+0

जिस तरह से आप इसे देखते हैं, वह स्पष्ट रूप से एक बग प्रतीत होता है। यदि _A_ बदलता है, तो परियोजना _A_ पर पुनर्निर्माण नहीं करना चाहिए, केवल परियोजनाएं जो _A_ पर निर्भर करती हैं। वीएस के पिछले संस्करणों में, मैंने यह देखा है जब कस्टम-निर्माण चरण शामिल थे। – sbi

उत्तर

2

विभाजन और जीत: अतिरिक्त समाधान बनाने के द्वारा आपके समाधान में चलने वाले निर्माण समय की मात्रा सीमित करें जिसमें आप काम कर रहे प्रोजेक्ट के तार्किक सबसेट शामिल हैं। यह आपके दायरे को सीमित करता है और बिल्ड को तेज करेगा।

देखें विभाजन एकल समाधान मॉडल इस MSDN लेख में: http://msdn.microsoft.com/en-us/library/ee817674.aspx

लेख से कुंजी बोली:

Separate solution files allow you to work on smaller subsystems within your overall system 
but retain the key benefits of project references. Within each subsolution file, 
project references are used between constituent projects. 
+0

तो, इस विधि से आप एक परियोजना (इस उदाहरण में प्रोजेक्ट ए) के साथ समाधान तैयार करेंगे जो कि अन्य सभी परियोजनाओं की बजाय अन्य सभी परियोजनाओं से डीएलएल का संदर्भ देता है? तो जब आप निर्माण करते हैं तो आप केवल एक परियोजना को पुन: संकलित करते हैं। – wcm

+0

जरूरी नहीं कि सिर्फ एक परियोजना है लेकिन संभवतः। –

1

प्रोजेक्ट ए पर राइट-क्लिक करते समय 'केवल बिल्ड करें' चुनना चाल चलाना चाहिए। मुझे यकीन नहीं है कि समाधान बनाने के दौरान संदर्भित परियोजनाओं के निर्माण से इसे रखने का कोई तरीका है (जो कि मानक 'बिल्ड' कमांड करता है)।

0

सुनिश्चित करें कि आपकी परियोजना निर्भरताएं सही हैं। प्रोजेक्ट पर राइट क्लिक करें और "प्रोजेक्ट निर्भरता" पर जाएं। सुनिश्चित करें कि प्रत्येक प्रोजेक्ट केवल लिंक करने के लिए आवश्यक अन्य परियोजनाओं के न्यूनतम सेट पर निर्भर करता है।

0

देखने के लिए एक और बात है, क्योंकि यह सिर्फ मुझे क्या हुआ, है यदि आप ClearCase का उपयोग करके अपने दृश्य को सिंक्रनाइज़ करते हैं, जबकि आपका समाधान खुला है और आपका कुछ कोड सिंक द्वारा अपडेट किया गया था, तो यह कभी-कभी फ़ाइलों पर गलत तरीके से टाइमस्टैम्प सेट करता है, इसलिए यह सोचता रहता है कि आपकी स्रोत फ़ाइलों को संशोधित किया गया है और हर बार आपकी परियोजना को संकलित कर रहा है ।

इसे ठीक करने के लिए मुझे समाधान बंद करना पड़ा और इसे फिर से खोलना पड़ा, और यह अपेक्षा के अनुसार व्यवहार किया गया।

2

ऐसा तब होता है जब किसी प्रोजेक्ट में ऐसी फ़ाइल होती है जो वास्तव में मौजूद नहीं होती है।
प्रोजेक्ट यह निर्धारित नहीं कर सकता कि फ़ाइल बदल दी गई थी (क्योंकि यह वहां नहीं है) इसलिए यह पुनर्निर्माण करता है।

बस परियोजना में सभी फाइलों को देखें, और उस व्यक्ति की खोज करें जिसके पास इसके पास एक विस्तार योग्य तीर नहीं है।

+0

विस्तारणीय तीर? क्या यह केवल जीयूआई कक्षाओं (जैसे विंडोज फॉर्म) और इसी तरह की यौगिक सामग्री के लिए नहीं है? मेरी परियोजनाओं/समाधानों में से एक में, मेरे पास बहुत सारी .cs फ़ाइलें हैं (जो सभी मौजूद हैं) जिनके पास स्टैंड-अलोन सरल वर्ग हैं, और उनके पास तीर नहीं है। –

0

बिल्ड आउटपुट वर्बोजिटी को विस्तृत करने के लिए बदलें और देखें कि यह शीर्ष पर क्या कहता है। मेरे मामले में, उसने मुझे बताया कि परियोजना अनुपलब्ध फाइल की वजह से अद्यतित नहीं थी।

+0

विस्तृत आउटपुट वर्बोसिटी को विस्तृत करने के लिए आप कैसे बदलते हैं? –

+0

एक तरीका हो सकता है [सेट मेनू * टूल्स * → * विकल्प * → * प्रोजेक्ट्स और सॉल्यूशंस * → * बिल्ड और रन * → * एमएसबिल्ड प्रोजेक्ट बिल्ड आउटपुट वर्बोजिटी * *** "डायग्नोस्टिक" ***] (https: //स्टैक ओवरफ़्लो।com/प्रश्न/1211841/कैसे-कर सकते हैं-ए-बनाने-श्रव्य-स्टूडियो-निर्माण हो-बहुत-वर्बोज़/1211886 # 1211886)। –

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