2009-08-09 3 views
50

विज़ुअल स्टूडियो टीम फाउंडेशन में चेक किए गए समाधान को खोलने के बाद विजुअल स्टूडियो 2008 का उपयोग करने के बाद एक संवाद पॉप अप होगा:कैसे हल करें ... विजुअल स्टूडियो स्रोत नियंत्रण अधिसूचना "परियोजनाओं को हाल ही में इस समाधान में जोड़ा गया है"

परियोजनाओं को हाल ही में इस समाधान में जोड़ा गया है। क्या आप उन्हें स्रोत नियंत्रण से प्राप्त करना चाहते हैं?

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

क्या किसी को भी बेहतर/सरल तरीका मिला है?

उत्तर

31

अरे, यह वास्तव में लगभग 4 साल पहले मेरे साथ हुआ था।

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

एक बार ऐसा करने के बाद, समाधान को अनइंड करें, फ़ाइल को ठीक करें, इसे दोबारा दोहराएं और सभी को अपने टीएफएस प्रोजेक्ट पर बल प्राप्त करने के लिए कहें।

देखें http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/c2822ef1-d5a9-4039-9d3e-498892ce70b6

http://www.nivisec.com/2008/09/vsts-projects-have-recently-been-added.html

(टूट लिंक: http://technorati.com/posts/Yadz3Mj1pxHPSJLlnUs1tL1sIwU5jXa5rNBbIAnYdvs%3D)

+0

बीटीडब्ल्यू। यह वास्तव में 5 साल पहले वास्तव में है। : पी – mayu

+0

@Tymek: ठीक है ... मैंने इसे '0 9 में लिखा था, यह 3 1/2 साल बाद है .. 7+ के करीब।:) मान लीजिए मैं थोड़ी देर कर रहा हूं। – NotMe

+0

मैंने 'संपादित' तिथि का उपयोग किया, लेकिन जब मैंने इसे देखा तो संपादन दिनांक केवल टूटी हुई लिंक के लिए था। – mayu

3

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

संपादित:

पढ़ना है कि फिर से मुझे confuses। मूल रूप से आपको संदेश मिलता है यदि आपके समाधान में एक स्रोत पर बाध्यकारी स्रोत नियंत्रण है जो आपके समाधान में मौजूद फ़ोल्डर के अंदर नहीं है, और बाहरी परियोजना आपके मशीन पर शारीरिक रूप से मौजूद नहीं है। ओके पर क्लिक करने से आपके लिए प्रोजेक्ट की जांच होगी।

+0

अंतिम पंक्ति पर, क्या आपका मतलब है "प्रोजेक्ट को जांचें" या "प्रोजेक्ट पर नवीनतम प्राप्त करें"? आपके पैराग्राफ इस बिंदु पर विरोधाभासी प्रतीत होते हैं। –

+0

हाँ, सुबह की सुबह पोस्टिंग कुछ है जो मुझे टालना चाहिए। "जारी रखें" पर क्लिक करने से प्रोजेक्ट _get_ होगा और इसे इसके समाधान के समाधान के स्थान से भौतिक रूप से सापेक्ष रखा जाएगा। इसलिए, यदि आपका समाधान 'C: \ Dev \ Client \ Someone \ SolutionA' पर है और" हाल ही में जोड़ा गया प्रोजेक्ट "को आपके समाधान के भीतर से .. .. \ .. \ .. \ Common \ ProjectB' पर संदर्भित किया गया था, तो यह होगा प्रोजेक्ट _get_ और इसे 'सी: \ देव \ कॉमन \ प्रोजेक्टबी' पर रखें ताकि आपके समाधान के संदर्भ सभी मान्य हों। क्या इसका कोई मतलब है? –

37

मैंने हाल ही में समाधान में कई परियोजनाओं को स्थानांतरित करने के बाद यह किया था। मैंने अंततः काम किया, कि प्रत्येक परियोजना वास्तविक रूप से समाधान फ़ाइल एकाधिक बार प्रत्येक पथ जानकारी के साथ दिखाई देती है! तो भले ही परियोजना के मुख्य संदर्भ में पथ सही था, फिर भी फाइल को और गलत कर दिया गया था।

तो .sln फ़ाइल के माध्यम से जाने के लिए और सभी प्रत्येक परियोजना के संदर्भ में सही है में यकीन है कि पथ बनाते हैं।

उदाहरण के लिए, अपनी परियोजनाओं में से एक के लिए पहला संदर्भ है:

Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ObexPushVB", "Samples\ObjectPush\ObexPushVB\ObexPushVB.vbproj", "{E3692A59-D636-48E8-9B57-7DA80A88E517}" 
EndProject 

मेरे मामले में पथ वहाँ सही ढंग से अपडेट किया गया।लेकिन फिर हमारे पास उस परियोजना के लिए भी है:

SccProjectUniqueName8 = Samples\\ObjectPush\\ObexPushVB\\ObexPushVB.vbproj 
SccProjectTopLevelParentUniqueName8 = InTheHand.Net.Personal.sln 
SccProjectName8 = Samples/ObjectPush/ObexPushVB 
SccLocalPath8 = Samples\\ObjectPush\\ObexPushVB 

तो उन सभी पथों को भी अद्यतन करने की आवश्यकता है! मैंने तय किया कि मैन्युअल रूप से सभी ठीक थे। (ठीक बीटीडब्ल्यू के बाद नमूना है)।

+17

बस एक एफवाईआई: जो आपने ऊपर उल्लिखित किया है उसे पूरा करने के लिए, लेकिन एक अधिक स्वचालित तरीके से मैंने एक टेक्स्ट एडिटर (इसे संपादित करने के लिए इसे जांचने के बाद) में समाधान फ़ाइल खोला और ग्लोबलसेक्शन (टीमफाउंडेशनवर्सन कंट्रोल) = प्रीसोल्यूशन नोड हटा दिया। फिर मैंने विजुअल स्टूडियो में समाधान खोला और समाधान में सबकुछ पर एक अनबिंड/बाइंड किया। यह सब कुछ सही रास्ते पर अपडेट किया गया और अब त्रुटियां चली गई हैं। आपकी पोस्ट के लिए धन्यवाद। –

+2

धन्यवाद। यह इसे सुलझाने का एक और सुरक्षित और तेज तरीका होगा! (हालांकि मुझे अब कुछ और masochistic config-file हैंड-एडिटिंग पसंद है और फिर!: -,)) – alanjmcf

+0

धन्यवाद alanjmcf! उसने मेरे लिए इसे हल कर दिया। मुझे खुशी है कि मुझे क्रिस लाइवली के स्वीकृत उत्तर में वर्णित सभी परेशानी से गुज़रना पड़ेगा। – bitbonk

1

मेरे मामले में यह एक परीक्षण परियोजना का संदर्भ था जिसे हटा दिया गया है।

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

समाधान से परियोजना को हटाने के बाद संदेशों को अब नहीं दिखाया गया है।

1

मैं दृश्य स्टूडियो 2013

साथ काम कर रहा हूँ मेरे लिए, यह बाद मेरे समाधान के फ़ोल्डर की संरचना संशोधित होने (मैं एक उप-फ़ोल्डर एक परियोजना के लिए सीधे स्रोत कोड एक्सप्लोरर पर जोड़ा) हुआ। समाधान समाधानकर्ता का उपयोग करके, मैंने अपने समाधान से सभी परियोजनाओं को हटाकर इस उबाऊ त्रुटि से छुटकारा पा लिया। उसके बाद, मैं दृश्य स्टूडियो बंद कर दिया, मैन्युअल .sln फ़ाइल संपादित और पूरे अनुभाग निकाल:

GlobalSection(TeamFoundationVersionControl) = preSolution 

समाप्त करने के लिए, मैं सिर्फ समाधान एक्सप्लोरर के साथ "मौजूदा परियोजनाओं" के रूप में परियोजनाओं वापस समाधान करने के लिए जोड़ा। विजुअल स्टूडियो स्वयं .sln फ़ाइल के हटाए गए अनुभाग को फिर से बना देगा।

0

कोई त्रुटि संदेश तब हो सकता है जब कोई कोई प्रोजेक्ट जोड़ता है, चेक-इन संपादित समाधान फ़ाइल, लेकिन स्रोत निर्देशिका में प्रोजेक्ट निर्देशिका नहीं जोड़ता है।

एक लंबी कहानी को कम करने के लिए - इस त्रुटि का अर्थ यह हो सकता है कि .sln फ़ाइल में .csproj फ़ाइल का संदर्भ है, लेकिन .csproj स्वयं शारीरिक रूप से गायब है।

0

मेरे मामले में मैंने वीएस में एक (एन) (अनलोडेड) परियोजना का नाम बदल दिया। यह परियोजना को एक नए फ़ोल्डर में सही ढंग से स्थानांतरित कर दिया गया और कोई डेटा खो गया नहीं। हालांकि समाधान फ़ाइल ने अभी भी पुरानी निर्देशिका की ओर इशारा किया जो अभी भी अस्तित्व में था लेकिन खाली था (इसलिए परियोजना वास्तव में लोड नहीं की जा सकी थी)।

समाधान से परियोजना को हटाने के बाद (जो कोई समस्या नहीं थी क्योंकि फ़ोल्डर पहले से खाली था) समस्या हल हो गई थी।

नए स्थान से परियोजना को फिर से जोड़ना कोई समस्या नहीं थी।

0

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

किसी कारण से ट्रंक से csproj फ़ाइल स्रोत नियंत्रण में नहीं थी जिसका मतलब था कि यह ब्रांडेड संस्करण से गायब था। मुझे लगता है कि कभी-कभी स्रोत नियंत्रित परियोजनाओं को स्थानांतरित करने के बाद ऐसा होता है।

इसे ठीक करने के लिए मैंने मूल स्रोत ट्रंक खोला, गायब फ़ाइल को जोड़ने के लिए स्रोत नियंत्रण एक्सप्लोरर का उपयोग किया, फिर लापता csproj फ़ाइल पर प्रतिलिपि बनाने के लिए शाखाओं में ट्रंक विलय कर दिया।

इसके बाद मैं बिना चेतावनी के ब्रांडेड संस्करण खोल सकता था।

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

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