2017-11-03 20 views
5

मैंने हाल ही में xamarin.forms के भीतर अपने xamarin एंड्रॉइड प्रोजेक्ट पर त्रुटि ResolveLibraryProjectImports: PathTooLongException प्राप्त करना शुरू कर दिया है। जब मैं ऑनलाइन देखता हूं तो सभी समाधान परियोजना को स्थानांतरित करने के लिए कहते हैं। क्या प्रोजेक्ट गुणों को बदलने या रीमेप करने का कोई तरीका है जो मुझे पूरी परियोजना को स्थानांतरित करने से बचने में मदद कर सकता है?स्थानांतरण के बिना xamarin एंड्रॉइड "पथ बहुत लंबा" हल करें

अद्यतन:

कारण इनाम और के बाद से सवाल नीचे, यहाँ आने के है कारण है कि मैं स्थानांतरित करने के लिए एक वैकल्पिक समाधान के लिए देख रहा हूँ:

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

+0

प्रोजेक्ट को स्थानांतरित करने से आपको क्या बाधा आ रही है? आप किस .NET फ्रेमवर्क को लक्षित करते हैं? (इस टिप्पणी को अभी एमएसडीएन दस्तावेज़ में देखा है: '.NET Framework 4.6.2 के तहत चल रहे ऐप्स से शुरू करना,।नेट फ्रेमवर्क 260 (या MAX_PATH) वर्णों से अधिक लंबे पथ का समर्थन करता है। ' –

+1

@ मारिम्बा ने अभी आपकी टिप्पणी देखी है। मैं xamarin रूपों का उपयोग कर रहा हूं जो 4.5 .NET Frameworks को लक्षित करता है। मैं इस ढांचे को अद्यतन करने में असमर्थ था। इस पर अधिक एक .NET मुद्दा नहीं है लेकिन एंड्रॉइड फ्रेमवर्क के भीतर एक जावा मुद्दा है। एंड्रॉइड प्रोजेक्ट्स को सीधे बनाते समय मुझे एक ही समस्या का सामना करना पड़ा है। बाधा डालने के कारण, मैं –

उत्तर

3

मैं पहले की तरह ही जारी करना का सामना करना पड़ा है, यहाँ मैं क्या पाया है है:

विंडोज एक अधिकतम पथ लंबाई सीमा है। आप Windows Naming Files, Paths, and Namespaces में यह देख सकते हैं:

अधिकतम पथ लंबाई सीमा Windows API में, एक पथ के लिए अधिकतम लंबाई MAX_PATH है, जो 260 पात्रों के रूप में परिभाषित किया जाता है (कुछ अपवादों को छोड़कर निम्नलिखित पैराग्राफ में चर्चा के साथ)। एक स्थानीय पथ को निम्न क्रम में संरचित किया गया है: ड्राइव अक्षर, कोलन, बैकस्लैश, बैकस्लाश से अलग नाम घटक, और एक निरंतर शून्य वर्ण। उदाहरण के लिए, ड्राइव डी पर अधिकतम पथ "डी: \ कुछ 256-वर्ण पथ स्ट्रिंग" है, जहां "" वर्तमान सिस्टम कोडपेज के लिए अदृश्य टर्मिनल शून्य वर्ण का प्रतिनिधित्व करता है। (वर्ण <> दृश्य स्पष्टता के लिए यहां उपयोग किए जाते हैं और वैध पथ स्ट्रिंग का हिस्सा नहीं हो सकते हैं।) यही कारण है कि आपको समस्या क्यों है।

आप इस समस्या को हल करने के लिए अपनी परियोजना के निर्देशिका पथ को छोटा कर सकते हैं, एक अन्य समाधान लंबे पथ उपकरण का उपयोग करता है। लेकिन PierceBoggan said के रूप में:/ड्राइव (या रास्ते में कम वर्ण के साथ एक और स्थान):

सबसे आसान तरीका है इस मुद्दे सेल्सियस के लिए अपने स्रोत स्थानांतरित करने के लिए है से बचने के लिए।


अद्यतन:

मुद्दा Xamarin.Android 8.0.2.1 में तय किया गया था, और इस संस्करण विजुअल स्टूडियो 2017 संस्करण 15.4.2 रिलीज में शामिल है। आप इस दस्तावेज़ पढ़ सकता है:

https://developer.xamarin.com/releases/android/xamarin.android_8/xamarin.android_8.0/#Issues_Fixed

+0

प्रश्न को अपडेट कर रहा हूं अन्य ने लंबे पथ टूल विकल्पों का प्रयास किया है और मुद्दों में भाग लिया है। भले ही संभव हो। यहां तक ​​कि अगर इसका उपयोग किया जाता है, तो इसे परियोजना में कैसे लागू किया जा सकता है? –

+0

@NevilleNazerane, वास्तव में, सबसे अच्छा समाधान आपकी परियोजना को एक छोटे से रास्ते पर ले जा रहा है। –

+0

अच्छी तरह से मुझे पता है और मेरे प्रश्न में भी इसका उल्लेख है। मेरा सवाल वैकल्पिक है। मैंने यह भी बताया है कि परियोजना को कई मामलों में एक समझदार समाधान क्यों ले जा रहा है –

2

मैं भी इस मुद्दे का सामना करना पड़ा। वीएस 2017 से 15.4.0 को अपडेट करने के लिए इसे मेरे लिए तय किया गया। इसे सी के करीब ले जाना: \ कुछ भी नहीं बदला।

+0

अच्छी तरह से मुझे 15.4.0 की तुलना में एक नए संस्करण में इस मुद्दे का सामना करना पड़ा। मुझे सच में नहीं लगता कि संस्करण ने इस मुद्दे को ठीक किया है। मैंने भी कुछ तरीकों को देखा जब मैं मुद्दा खोलता हूं और जाता है। मैं वास्तव में इस मुद्दे के सटीक कारण को पिन नहीं कर सकता। –

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