2010-08-07 4 views
14

क्यों?मैं एक Design.csproj खोलता हूं और एक पूरा समाधान खुलता है!

मुझे उम्मीद है कि केवल परियोजना ही खुल जाएगी।

एकमात्र तरीका जिसे मैं पूरा करना चाहता था, वह एक नया प्रोजेक्ट test.csproj बनाना था, design.csproj जोड़ें, समाधान को सहेजें, और फिर test.csproj को हटा दें।

उत्तर

10

Tools > Options > Projects and Solutions > General में, एक चेकबॉक्स है, जिसे "Always show solution" लेबल किया गया है।

इस विकल्प के साथ, समाधान के फ़ोल्डर स्टैक्चर के भीतर से एक प्रोजेक्ट खोलने से पूरे समाधान को खुल जाएगा। यदि आप केवल प्रोजेक्ट पर क्लिक करते हैं, तो मेरा मानना ​​है कि आईडीई को .sln फ़ाइल के लिए मूल निर्देशिकाओं को आसानी से स्थानांतरित करके समाधान मिल जाता है।

कारण मैं कहता हूं कि है क्योंकि अगर आप निर्देशिका एक परियोजना युक्त कॉपी करें और कहीं और पेस्ट, तो दोगुना इसे क्लिक करें, परियोजना अपने आप ही एक समाधान के अंदर एक अस्थायी एक, खोला जाता है (अब भी है, लेकिन जो केवल .suo फ़ाइल के रूप में मौजूद है (जब तक आप समाधान को सहेज नहीं लेते हैं))

तो हम वहां आधा रास्ते हैं। अब अगर आप विकल्प जो मैं अपनी पोस्ट के शुरू में उल्लेख किया है सही का निशान हटाएँ, आप परियोजना अपने आप ही खुला तो तरह देखेंगे:

alt text

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

+0

आप कह रहे हैं कि यह निर्देशिका पेड़ को क्रॉल करके समाधान पाता है। – SLaks

+0

ठीक है, शायद नहीं, लेकिन इसे खोजने के कई तरीके हैं। यह स्पष्ट रूप से प्रतीत होता है अगर आप इस परियोजना को समाधान से दूर करते हैं, तो अब यह समाधान नहीं ढूंढता है। – Nobody

+0

असल में, मुझे संदेह है कि यह _is_ सच है। – SLaks

0

परियोजनाएं समाधान से जुड़ी हैं; आप अपने मूल समाधान के बिना एक परियोजना नहीं खोल सकते हैं।

अन्यथा, परियोजना संदर्भ जैसी चीजें काम नहीं करतीं।

+0

मुझे यह नहीं दिखाई देता है। मुझे उम्मीद है कि समाधान फ़ाइल में परियोजनाओं की एक सूची शामिल होगी जो समाधान के भीतर निहित हैं और यह कि परियोजना एक या एक से अधिक समाधानों में निहित हो सकती है। जब मैंने एसएलएन फाइल खोल दी, मैंने सोचा कि मैंने परियोजनाओं की एक सूची देखी है। जब मैंने csproj फ़ाइल खोल दी, तो मुझे समाधान के लिए कोई संदर्भ नहीं दिखाई दिया। मुझे यह भी यकीन नहीं है कि कैसे csproj फ़ाइल मूल sln फ़ाइल को इंगित करती है। क्या होगा यदि परियोजना कई समाधानों के भीतर निहित थी? यह मुझे समझ में नहीं आता है। – ChadD

+0

@ वेलिकिका: समाधान परियोजना को संदर्भित करता है, न कि दूसरी तरफ। यदि आप टेक्स्ट एडिटर में '.sln' फ़ाइल खोलते हैं, तो आप' जैसे लाइनें देखें: 'प्रोजेक्ट ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "प्रोजेक्ट 1", "समाधान 1 \ Project1.csproj", "{6594D860-E1A1-4E24-8A32-D0ED89B04D65}" एंडप्रोजेक्ट'। ये समाधान बताते हैं जो परियोजनाओं को लोड करने के लिए कहां से और कहां से। अब यदि आप '.csproj' के पाठ के अंदर देखते हैं, तो आपको किसी भी समाधान का कोई संदर्भ नहीं मिलेगा लेकिन उस प्रोजेक्ट वाले समाधानों में से एक को खोलने पर खोला जाएगा। तो आप वास्तव में एक से अधिक समाधान में एक ही परियोजना कर सकते हैं। – Nobody

+1

आपने कहा ... "लेकिन जब आप इसे क्लिक करते हैं तो उस प्रोजेक्ट वाले समाधानों में से एक खोला जाएगा ..." यह कॉलम फ़ाइल कैसे ढूंढता है? और यह एक की तलाश क्यों परेशान करेगा? – ChadD

1

शायद क्योंकि आपके पास विकल्प में "नवीनतम समाधान खोलें" है?

1

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

+0

यह सवाल का जवाब नहीं देता है। – SLaks

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