2011-01-26 8 views
28

वर्तमान प्रोजेक्ट पर मैं काम कर रहा हूं, इस समय, कोड का एक बड़ा हिस्सा, जिसका अर्थ है स्रोत नियंत्रण से अद्यतन करना मतलब कई बार csproj फ़ाइल में परिवर्तन हो सकता है । जैसा कि हम सभी जानते हैं, वीएस -2010 में "सभी को फिर से लोड करें" बटन नहीं है, लेकिन आपको प्रत्येक प्रोजेक्ट को फिर से लोड करना होगा और प्रत्येक रीलोड की पुष्टि करनी होगी।जब प्रोजेक्ट फाइलें बदलती हैं तो विजुअल स्टूडियो 2010 ऑटो रीलोड समाधान बनाएं

क्या कोई ऐसी विधि है जहां परियोजना ऑटो-रीलोड हो या आईडीई इसका पता लगा सके और समाधान पुनः लोड करने के लिए कहें?

उत्तर

29

अंत में एक समाधान मिला :

http://lostechies.com/jimmybogard/2011/01/27/reloading-all-projects-with-vscommands/

साइट से हवाला देते हुए:

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

मैं मई इस बारे में पता लगाने के लिए पिछले वी.एस. उपयोगकर्ता, लेकिन के एक मुक्त लाइट संस्करण VSCommands प्लगइन available on the Visual Studio Gallery करता है हो मैं सिर्फ क्या जरूरत है - फिर से लोड एक ही बार में परियोजनाओं बदल गया है, जो फ़ाइलें संरक्षण मैं खुला था:

+1

जब लिंक मर जाता है, तो समाधान हमेशा के लिए खो जाता है। क्या आप फिक्स का वर्णन करके अपना जवाब सुधार सकते हैं? धन्यवाद! –

+0

टिप्पणी अपडेट की गई। –

+0

@RayBooysen: आप लिंक को अपडेट करना और Google Analytics पैरामीटर को हटा सकते हैं (वे साइट के आंकड़ों को विकृत करेंगे) - http://lostechies.com/jimmybogard/2011/01/27/reloading-all-projects-with- बनाम/काम करेंगे। – Oliver

-3

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

VS option screenshot

+1

नहीं, काम नहीं करता है। हमने पहले ही कोशिश की है। –

+3

वास्तव में, यह स्रोत फ़ाइलों के लिए काम करता है लेकिन परियोजना फ़ाइलों के लिए नहीं। –

+0

वीएस 2010 तक (कम से कम) ऑटो-रीलोडिंग संशोधित प्रोजेक्ट फाइलों के रूप में ऐसी कोई सुविधा मौजूद नहीं है - यदि आपको कोई प्रोजेक्ट फाइल इसके बाहर बदलती है तो आपको हमेशा विजुअल स्टूडियो के साथ "रीलोड प्रोजेक्ट" गेम खेलना होगा। – Oliver

4

यह एक दर्द है, लेकिन सबसे अच्छा विकल्प मैंने पाया नवीनतम स्रोत कोड हो रही से पहले समाधान बंद करने के लिए है।

यदि दो से अधिक बदली हुई परियोजनाओं हैं, यह तेजी से होता है मैन्युअल रूप से अनलोड करने के लिए & पूरे समाधान की तुलना में यह हो जाओ और यह & अनलोड करने के लिए के लिए पुनः लोड केवल प्रभावित परियोजनाओं इंतजार करना है फिर से लोड - परियोजनाओं को फिर से लोड achingly धीमी है (बदले गए प्रत्येक प्रोजेक्ट के लिए ओके बटन पर क्लिक करने के बावजूद भी)।

(मेरे दिमाग में असली सवाल यह है कि: यह सवाल क्यों पूछता है ??? यदि आपको नवीनतम स्रोत कोड मिलता है, तो बिल्कुल कोई सायन कारण नहीं है कि आप इसका केवल का हिस्सा क्यों उपयोग करना चाहते हैं यह एक पेट्रोल स्टेशन परिचर की तरह है, "आप कुछ ईंधन खरीदा है। क्या आप मुझे वास्तव में इसे अपनी कार में डालना चाहते हैं, या क्या मैं इसे जमीन पर डाल दूंगा?")

+0

समस्या यह है कि अधिकांश उपकरणों (हमारे मामले में VisualSVN या AnkhSVN) के साथ, आप नहीं जानते कि जब तक आप अपडेट पर क्लिक नहीं करते हैं तब तक क्या बदल गया है। और फिर आप विजुअल स्टूडियो के साथ "रीलोड प्रोजेक्ट" गेम खेलते हैं। –

+0

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

+0

यह अभी भी एक नृत्य है जिसे मैं वीएस के साथ नहीं करना पसंद करूंगा। ;) –

1

ठीक है, कि यदि आपके संदर्भ रास्तों csproj फ़ाइल में बदल गया है और एक सिमलिंक बदलने के लिए अपने कुछ sysinternals junction tool तरह का उपयोग कर काम नहीं करता। जैसे टूल डी: \ प्रोजेक्ट्स सिम्लिंक डी से: \ बेसलाइन \ 1.0 \ डी से प्रक्षेपण: \ बेसलाइन \ 2।0 \ प्रोजेक्ट्स, और क्योंकि किसी ने 1.0 और 2.0 के बीच फ़ोल्डर संरचना को बदल दिया है, तो आपकी .csproj फ़ाइल अचानक डीएलएल पथ को .... \ संदर्भ \ some.dll से .... \ संदर्भ \ 3rd-Party \ some को इंगित करती है। डीएलएल मुझे पता है कि यह एक विशेष मामला है, लेकिन होता है (उदा। मेरी कंपनी में)।

हालांकि एक वैकल्पिक समाधान है, जिसे मैं अत्यधिक अनुशंसा करता हूं क्योंकि इसके अन्य लाभ भी हैं: गैर-ज्ञात वीएस 2010 एक्सटेंशन Solution Load Manager। यह पृष्ठभूमि में परियोजनाओं को लोड करने, या मैन्युअल रूप से लोड होने तक, समाधान लोड समय में बड़ी समाधान फ़ाइलों के लिए बहुत कुछ सुधारता है। इसमें इसके मेनू में "रीलोड सॉल्यूशन" बटन है (दुर्भाग्य से ऐसा कोई शॉर्टकट नहीं लगता है) जो तब आपके द्वारा सेट किए गए समाधानों को स्क्रैच, स्किपिंग/बैकगलोडिंग से सभी समाधान पुनः लोड करता है। एक माइक्रोसॉफ्ट लड़के ने अपने ब्लॉग पर टिप्पणी की कि वे वीएस 2010 में समान कुछ शामिल करना चाहते थे, लेकिन इस सुविधा ने इसे काफी नहीं बनाया।

निश्चित रूप से, इसमें "केवल" एक क्लिक और 100 दस्तावेजों को अपडेट करने में अधिक समय लग सकता है, लेकिन यह (रिश्तेदार) संदर्भ पथ परिवर्तन की मेरी समस्या को हल करता है, और हर बार जब मैं कम से कम मध्यम आकार का समाधान खोलता हूं तो एक अच्छा गति बढ़ावा देता है ।

अक्टूबर 2013 के रूप में संपादित करें वीएस2012 डिफ़ॉल्ट रूप से इस कार्यक्षमता को शामिल करता है। कम से कम async लोडिंग सामान। VS2012 में मैन्युअल "अनलोड प्रोजेक्ट" का उपयोग करके दुर्भाग्य से "केवल लोड न करें" कार्यक्षमता दुर्भाग्य से संभव है। लेकिन चूंकि प्रोजेक्ट मेमोरी खपत वीएस2012 के साथ घट गई है, यह अब एक सौदा का बड़ा नहीं है।

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

  • कोई संबंधित समस्या नहीं^_^