फिर भी एक और अपूर्ण समाधान (लेकिन शायद दूसरों की तुलना में सही करने के लिए एक छोटे से करीब):
protected static string GetSolutionFSPath() {
return System.IO.Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName;
}
protected static string GetProjectFSPath() {
return String.Format("{0}\\{1}", GetSolutionFSPath(), System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
}
इस संस्करण मौजूदा परियोजनाओं ' फ़ोल्डर वापस आ जाएगी, भले ही चालू परियोजना Startup Project
नहीं है समाधान के लिए।
इस के साथ पहली बार दोष मैं छोड़ दिया गया है कि सभी त्रुटि जाँच है। इसे आसानी से तय किया जा सकता है लेकिन केवल एक समस्या होनी चाहिए यदि आप ड्राइव के लिए रूट निर्देशिका में या अपने पथ में जंक्शन का उपयोग करके अपनी परियोजना को संग्रहीत कर रहे हैं (और वह जंक्शन समाधान फ़ोल्डर का वंशज है) तो यह परिदृश्य असंभव है । मुझे पूरा यकीन नहीं है कि विजुअल स्टूडियो किसी भी तरह से इन सेटअपों को संभाल सकता है।
एक और (अधिक संभावना) समस्या जो आप चला सकते हैं वह यह है कि परियोजना का नाम प्रोजेक्ट के लिए फ़ोल्डर नाम से मेल खाना चाहिए।
एक अन्य समस्या आप हो सकता है कि इस परियोजना समाधान फ़ोल्डर के अंदर होना चाहिए है। यह आमतौर पर एक समस्या नहीं है, लेकिन आप समाधान के लिए परियोजना को जोड़ने के लिए Add Existing Project to Solution
विकल्प का उपयोग किया है तो इस तरह से अपने समाधान आयोजित किया जाता है नहीं हो सकता।
आखिरकार, यदि आप आवेदन कर रहे हैं तो कार्यशील निर्देशिका में संशोधन होगा, आपको यह मान करने से पहले इस मान को स्टोर करना चाहिए क्योंकि यह मान वर्तमान कार्यशील निर्देशिका के सापेक्ष निर्धारित है।
बेशक
, यह सब भी मतलब है कि आप अपनी परियोजनाओं को 'Build
के लिए डिफ़ॉल्ट मान छेड़छाड़ नहीं कर सकते ->Output path
या Debug
- परियोजना गुण संवाद में>Working directory
विकल्प।
ये दो उपरोक्त आपको बिन निर्देशिका में इंगित करते हैं, इसलिए यदि आपके उदाहरण के लिए आपके पूरे समाधान के लिए एक बिन निर्देशिका है, तो यह आपको वहां बताएगा और आपकी प्रोजेक्ट निर्देशिका (या आपकी परियोजना निर्देशिका के नीचे दो स्तर) नहीं – matcheek
पर्यावरण। वर्तमान डायरेक्टरी मेरे लिए भी काम किया है – MissPiplup