कहीं से एक परियोजना के लिए एक गलत रास्ते को पुनः प्राप्त दृश्य स्टूडियो


98

विज़ुअल स्टूडियो (और संभवत: TFS) के पास किसी तरह है (मुझे लगता है कि शायद एक स्रोत नियंत्रण मर्ज के दौरान) मेरे समाधान के भीतर एक परियोजना के मार्ग के बारे में भ्रमित हो जाते हैं।

यह सोचता है कि यह यहाँ है (सादगी के लिए उदाहरण पथ):

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj

जबकि वास्तव में, परियोजना फ़ाइल यहाँ स्थित है:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj

मैं सही स्थान को पहचानने के लिए इसे प्राप्त नहीं कर सकता। मैंने कोशिश की है:

  • सही स्थान से प्रोजेक्ट को निकालना और फिर से जोड़ना। एक त्रुटि संदेश आता है The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found

  • सभी ExampleProjectCorrect.csprojरास्तों को सही पथ के लिए सुनिश्चित करने के लिए .sln फ़ाइल को मैन्युअल रूप से संपादित करना ।

  • सही और गलत दोनों रास्तों के लिए समाधान निर्देशिका पर फ़ाइलों में एक खोज करना, जहां स्टूडियो गलत रास्ते को छिपा रहा है, नीचे की कोशिश करने और ट्रैक करने के लिए।

  • VS और TFS के लिए कैश निर्देशिकाओं को हटाना

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

क्या कोई मुझे सही दिशा में इंगित कर सकता है कि वह इस गलत रास्ते पर कहां है और / या इसे कैसे रीसेट करना है ताकि लानत भरी चीज सही तरीके से लोड हो जाए?


तो, क्या होता है यदि आप इस परियोजना को उदाहरण के लिए ProProjectWrong निर्देशिका में स्थानांतरित करते हैं?
हंस पैसेंट

ठीक है, कुछ प्रगति .. इसे गलत फ़ोल्डर में ले जाने से मुझे दृश्य स्टूडियो में लोड करने की अनुमति मिलती है। मैं इसे वहां नहीं रख सकता, क्योंकि 'ExampleProjectWrong' निर्देशिका एक अन्य परियोजना का घर है, जिसमें बहुत समान फ़ोल्डर संरचना है। तो, किसी भी विचार कैसे परियोजना के रास्ते को बदलने के बारे में अब मैं इसे लोड किया है? अनलोड किए गए प्रोजेक्ट गुणों में पथ फ़ील्ड अनुपलब्ध है, भले ही प्रोजेक्ट अनलोड किया गया हो?
चार्ली ड्रविट

3
मुझे यह समस्या अब दूसरी बार मिली है, लेकिन इस बार मैं यह पता लगाने में सक्षम था कि ब्रंचेड प्रोजेक्ट ने मूल फ़ोल्डर को लक्षित किया क्योंकि मैं विभिन्न कनेक्शन का उपयोग करता हूं। यह पहली बार बहुत अजीब था, जिसके कारण विज़ुअलस्टडियो स्रोत फ़ोल्डर से फ़ाइलों में डिबग करने के लिए गया, और इसे शाखा से फ़ाइलों के साथ मिलाया गया, और यहां तक ​​कि Log4net मूल फ़ोल्डर में लॉग इन किया! क्या समाधान सू फ़ाइल को नष्ट कर दिया है और यह अब सही ढंग से केवल शाखित फ़ाइलों तक पहुँच रहा है।
बिंक

2
मेरे साथ भी ठीक यही समस्या थी। यह इतना आसान नहीं था जितना सिर्फ सू फाइल को डिलीट करना। मुझे यह करना था: 1. समाधान से अपमानजनक परियोजना को हटा दें। 2. समाधान सहेजें। 3. .suo हटाएं 4. समाधान खोलें और प्रोजेक्ट को फिर से जोड़ें।
सीनलेन

1
SUO फ़ाइल हटाना मेरे लिए काम कर गया।
डैनियल

जवाबों:


96
  1. कार्यस्थान प्रबंधित करने के लिए जाएं (फ़ाइल / स्रोत नियंत्रण मेनू के माध्यम से या स्रोत नियंत्रण एक्सप्लोरर में कार्यक्षेत्र ड्रॉप डाउन करें)
  2. अपने कार्यक्षेत्र के लिए संपादन का चयन करें
  3. आपको काम करने वाले फ़ोल्डरों के नीचे, पुराने / गलत प्रोजेक्ट डायरेक्टरी के लिए सोर्स कंट्रोल डायरेक्टरी के लिए मैपिंग देखनी चाहिए।
  4. इसे चुनें और निकालें पर क्लिक करें ।
  5. VS बंद करें और सू फाइल को डिलीट करें।

यह अभी भी गलत निर्देशिका का संदर्भ देता है। शायद इस बिंदु पर रिबंडिंग काम कर सकती है लेकिन मैंने ऐसा करने की कोशिश नहीं की। अपने प्रोजेक्ट को पुनः लोड करें और आपको जाने के लिए अच्छा होना चाहिए।


1
इसके अलावा, स्रोत नियंत्रण एक्सप्लोरर में स्थानीय पथ लिंक द्वारा मूर्ख बनाया जाए। मेरे पास अपने कार्यक्षेत्र के लिए एक और मानचित्रण था और यह दिखा रहा था कि मैं वहां क्या उम्मीद कर रहा था लेकिन जब इसने परियोजना को लोड करने की कोशिश की तो यह दूसरे रास्ते का उपयोग कर रहा था।
बेंजामिन पोट्स

1
.suo फ़ाइल छिपी हुई है, इसलिए आपको "सभी फ़ाइलें और फ़ोल्डर दिखाने के लिए" विकल्प सक्षम करने की आवश्यकता है
ANIL MANE

8
विजुअल स्टूडियो 2015 में मैंने उसी त्रुटि का अनुभव किया। मेरे लिए छिपी हुई .vs डायरेक्टरी और .suo फाइल को डिलीट करने के लिए जो काम किया गया था।
डैनियल लिज़जन

5
VS2015 के लिए आपकी .suoफ़ाइल वह नहीं हो सकती है जहाँ आप सोचते हैं। अपनी .slnफ़ाइल के साथ रहने वाले को हटाएं ("छिपी हुई फ़ाइलें दिखाना न भूलें") और वहाँ भी एक उपनिर्देशिका में छिपा है .\.vs\[solution_name]\v14\.suo। एक बार जब मुझे दोनों मिल गए तो मैं फिर से प्रोजेक्ट जोड़ सकता हूं। उफ़ - @DanielLeiszen को आंशिक रूप से श्रेय (बस उन्होंने उसी बात पर टिप्पणी की)
रिचर्ड

1
मुझे .suo फ़ाइल को डिलीट करना पड़ा और पवित्रता के लिए VS को फिर से शुरू करना
पड़ा

33

बस .suoमेरे लिए काम कर रहे समाधान फ़ाइल को हटाना ।


5
VS2015 में मेरे <SolutionDir>\.vs\<SolutionName>\<VsVersion>\.suoलिए काम करने से पहले सभी विजुअल स्टूडियो इंस्टेंसेस को बंद करने की जरूरत थी ।
ग्रैहमफ

12

विजुअल सोर्स सेफ 2005 से TFS 2012 में माइग्रेशन करने के बाद मैं इस मुद्दे का सामना कर रहा था। मैं अगले कुछ हफ़्तों में "कनवर्ज़न विजार्ड" की प्रतीक्षा नहीं कर सकता था इसलिए मैंने VSSConvert.exe चलाया। इसने 6 या इतने वर्षों का इतिहास लिया और इसे TFS में स्थानांतरित कर दिया .. जबकि मुझे वास्तविक समयरेखा इतिहास नहीं मिला .. मुझे उसी दिन प्रविष्टियों का एक गुच्छा मिला जिसमें टिप्पणियों के साथ इतिहास के वास्तविक चेक-इन का संकेत मिलता है। । बुरा नहीं।

इसलिए पूरी रात चलने के बाद (सफलतापूर्वक, हाँ!), मुझे अपनी परियोजनाओं को लोड करने में परेशानी हो रही थी, जैसा कि इस प्रश्न में कहा गया है। किसी कारण से, कुछ परियोजनाओं को गलत निर्देशिका के लिए संदर्भित किया जा रहा था। मैंने .sln, .vsproj फाइलें चेक कीं और नवीनतम प्राप्त कीं, फिर से डिलीट कीं, डिलीट किया, रिमूव किया, आदि .. मैंने यहां नोट की गई हर चीज को आजमाया ... यहां तक ​​कि अपने कार्यक्षेत्र को भी अपग्रेड कर रहा हूं, जो मुझे यकीन नहीं है कि क्या किया।

अंतिम रूप से ... मैंने * .suo फ़ाइलों और viola को हटा दिया । इसने काम कर दिया।

मैंने इस पर एक दो घंटे बिताए।


2
* .Suo फ़ाइल को हटाने से पहले, सभी Visual Studio इंस्टेंस को बंद करना सुनिश्चित करें, फिर समाधान को फिर से खोलें।
मास

5

थोड़ा अलग समाधान।

TFS एक विशेष समाधान के लिए एक गैर-मौजूदा पथ प्रदर्शित कर रहा था। पहले, मेरे पास एक अलग डी: ड्राइव के साथ एक लैपटॉप था, लेकिन अब, मेरे पास सी: ड्राइव है। TFS को अब भी लगा कि मेरा प्रोजेक्ट D: \ Project \ MikesProject पर संग्रहीत किया गया है

मेरे पास .suoहटाने के लिए एक फ़ाइल नहीं थी , मेरे कार्यस्थानों में कहीं भी D: पथ का उल्लेख नहीं किया गया था ( File\Source Control\Advanced\Workspacesमेनू के नीचे दफन ), TFS ने दिखाया कि मेरे पास नवीनतम फाइलें मेरे (अब-लंबे समय से मौजूद) में नहीं थीं: VS2013 में निर्देशिका और TFS के पास इस परियोजना के लिए "निकालें मैपिंग" विकल्प नहीं था।

लेकिन क्या किया था काम बस परियोजना पर एक "मिल नवीनतम संस्करण" करने के लिए किया गया था।

ऐसा करने के बाद, कोड की एक नई प्रति मेरे सी: ड्राइव, और (दिलचस्प) को लिखी गई थी, अब स्थानीय पथ को रेखांकित किया गया था ।

पहले, D: पथ इस तरह नहीं दिखाया गया था।

अजीब। बहुत अजीब।


2
मेरे लिए ठीक वैसी ही स्थिति। मैं उस गलत रास्ते की वजह से ट्रिगर खींचने और "गेट लेट" होने में संकोच कर रहा था, लेकिन @ मायके ने मुझे हिम्मत दी!
जोनाथन

2

हमारे पास चाल और नाम के साथ समान मुद्दे हैं। स्थानीय निर्देशिकाओं को हटाना और फिर इसे हल करना।


2

.suoफ़ाइल और .vsफ़ोल्डर्स को हटाने के बाद भी , मुझे .slnफ़ाइल को संपादित करना पड़ा और सही SccProjectName#होने के बावजूद पुराने रिश्तेदार url को हटाना पड़ा SccLocalPath#। जाहिरा तौर पर वी.एस. भी संकेत पथ के रूप में नाम का उपयोग करता है।


1

.Suo फ़ाइल (एक्सटेंशन सहित) को हटाने या नाम बदलने का प्रयास करें। यह फ़ाइल उसी स्थान पर है जहाँ आपकी समाधान फ़ाइल है। इसने मेरे लिए काम किया।


0

बस अनुमान लगा रहे हैं, लेकिन शायद आपकी कुछ अन्य परियोजनाएं आपके प्रोजेक्ट को गलत स्थान से संदर्भित करती हैं? इस स्थिति में, आपको अपने समाधान में प्रोजेक्ट को केवल हटाना और फिर से सम्मिलित नहीं करना है, आपको संदर्भ परियोजनाओं (उनके .csproj फ़ाइलों में संग्रहीत) से संदर्भों को हटाना और फिर से बनाना होगा।


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

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

0

कई सिफारिशों की कोशिश करने के बाद मैंने सू फाइल (फिर से) को हटा दिया। आखिरी बार काम किया। यह पहले क्यों नहीं चला, मुझे नहीं पता। सामान्य तौर पर मुझे लगता है कि मैं जो पहला कदम रखता हूं, उसमें से एक को हटाने के लिए मैं सू की फाइल को हटाता हूं।


0

मैं अपने asp.net वेबसाइट समाधान मेरे देव शाखा से खोला गया था। फिर किसी अन्य उद्देश्य के लिए मैंने मुख्य शाखा से एक ही समाधान खोला।

मैंने अपनी एक .ascx.cs फ़ाइल को देव शाखा में बदल दिया और ब्रेकपॉइंट सेट किया। जब मैंने डिबगर को चलाया, तो मेरे सभी ब्रेक पॉइंट देव शाखा में हिट हो गए थे। विचार नहीं है।

अस्थायी फ़ोल्डर की सफाई की कोशिश की, लेकिन काम नहीं किया।

क्या काम किया:

विजुअल स्टूडियो के सभी उदाहरणों को बंद कर दिया

देव शाखा से फिर से समाधान खोला।

फिर से रन और ब्रेक पॉइंट मारना शुरू कर दिया।


0

मेरे मामले में मैंने प्रोजेक्ट फ़ोल्डर में * .sln फ़ाइल की प्रतिलिपि बनाई और * .sln फ़ाइल में प्रोजेक्ट करने के लिए पथ परिवर्तित किया। केवल इस समस्या को हल किया (बनाम 2015 sp1, winerviseise प्रोजेक्ट)।

डिलीट * .सू मेरे लिए मदद नहीं करता है।


0

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


-1

यदि आप IISExpress के बजाय स्थानीय IIS के तहत अपना वेब ऐप चला रहे हैं, तो सुनिश्चित करें कि आप प्रोजेक्ट गुणों में जाकर "वर्चुअल निर्देशिका बनाएँ" बटन दबाएं। एक बार जब यह हो जाता है, तो "क्लीन सोल्यूशन" और "सोल्यूशन सोल्यूशन" का प्रदर्शन करें।



-3

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


यह वास्तव में प्रारंभिक प्रश्न के लिए कोई मदद प्रदान नहीं करता है
vlad_tepesch

मुझे लगा कि मेरे मुद्दे का स्वभाव एक जैसा है। मेरे पास दो कार्यस्थल थे, जिनमें से एक पुराना है। मैंने नए एक के भीतर काम किया, और समाधान बनाया, परियोजनाओं को जोड़ा। सब कुछ ठीक है केवल अगर मैंने समाधान बंद नहीं किया। लेकिन अगर मैंने समाधान को बचाया, और इसे खोलने की कोशिश की, तो वीएस ने हमेशा मेरे पुराने कार्यक्षेत्र में मैप की गई निर्देशिका से समाधान में परियोजनाओं को लोड करने की कोशिश की।
BackToSorrento
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.