2012-07-11 9 views
18

मुझे अपने WPF समाधान के निर्माण में परेशानी हो रही है। हर मैं इसे बनाने की कोशिश, मैं इस त्रुटि संदेश मिलता है:विजुअल स्टूडियो अज्ञात बिल्ड त्रुटि। पूरी तरह से योग्य नाम 260 वर्णों से कम होना चाहिए

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

कोई मेरी मदद कर सकता है? मैंने पहले ही सभी फ़ील्ड सत्यापित कर लिए हैं और उनके एक्सटेंशन पथ ठीक हैं। क्या यह TortoiseSVN या इस तरह से कुछ समस्या हो सकती है? मैंने हाल ही में अपने समाधान में एक फ़ोल्डर जोड़ा, इस के साथ कुछ हो सकता है?

+0

मुझे नहीं लगता कि यह मदद करेगा - यह समाधान देखें [http://iwillsharemypoint.blogspot.co.il/2012/10/the-specified-path-file-name-or-both.html ](http:/ /iwillsharemypoint.blogspot.co.il/2012/10/the-specified-path-file-name-or-both.html) – roi

उत्तर

19

यह विंडोज win32 api में एक प्रसिद्ध प्रतिबंध है। जिस निर्देशिका में आपने अपनी परियोजना को संग्रहीत किया है वह बहुत गहराई से घिरा हुआ है। फ़ाइल के पूर्ण पथ नाम में 25 9 से अधिक वर्ण नहीं हो सकते हैं। इसके अलावा, बहुत से सी कोड जो MAX_PATH का उपयोग करते हैं, बफर ओवरफ़्लो के कारण विफल हो जाते हैं।

अपने समाधान को दूसरी निर्देशिका में ले जाएं, जो रूट के करीब है।

+0

यह मेरे लिए काम किया। धन्यवाद! – user1517951

+8

क्या MAX_PATH से बचने का कोई तरीका है? – Sonhja

1

कोई चिंता नहीं .... यह त्रुटि लंबे पथ नाम के कारण आती है, मान लीजिए कि आपका प्रोजेक्ट फ़ोल्डर नाम "myproject" है।

आप बस परियोजना फ़ोल्डर का स्थान बदलें ... डी करने के लिए अपने परियोजना "MyProject" रखो: \ MyProject या या एफ: \ MyProject drive.Then आप प्रकाशित करें again..Its काम ...

मुबारक कोडिंग ...

0

यह निर्माण defination कार्यस्थान के साथ मुद्दा है "बिल्ड एजेंट फ़ोल्डर स्थान" वी.एस. रास्तों उदाहरण जोड़ता है: $ (SourceDir) ई: \ Somedirectory \ ProjectName \ बस $ (SourceDir) में रखने दायर

0

मुझे एक ही समस्या थी। मेरा चेकआउट पथ मेरे सीआई सर्वर पर इस्तेमाल किए गए पथ से छोटा था। यह सीआई सर्वर, और मेरे सभी सहकर्मियों मशीनों पर ठीक बनाया गया। हमारे पथ एक ही लंबाई हैं क्योंकि हमारी कंपनी ने लंबे उपयोगकर्ता नाम निर्धारित किए हैं। मैं एकमात्र मशीन थी जो लंबे मार्गों के कारण समाधान का निर्माण नहीं कर सका।

यदि इन फ़ोल्डरों पर जाएं:

C: \ Windows \ Microsoft.NET \ फ्रेमवर्क

C: \ Windows \ Microsoft.NET \ Framework64

सी: \ उपयोगकर्ता \ [उपयोगकर्ता नाम] \ AppData \ स्थानीय \ Temp

अपने समाधान के साथ उपयोग कर रहे .NET का संस्करण खोजें, फिर हटाएं "अस्थायी एएसपी.नेट फ़ाइलें" फ़ोल्डर्स जिनसे आप कभी भी संस्करणों को अपने निर्माण को प्रभावित कर रहे हैं।

आप उन सब को नष्ट कर सकते हैं, एक वेब परियोजना के अपने अगले निर्माण एक छोटा सा अधिक समय लग सकता के रूप में वहाँ कोई पूर्व संकलित विधानसभाओं हो जाएगा ...

यह समाधान एक समाधान एएसपी युक्त पर मेरे लिए काम किया। नेट परियोजनाएं - यह डब्ल्यूपीएफ परियोजनाओं पर काम नहीं करेगी, जिन्होंने दूसरों ने उनके उत्तरों में उल्लेख किया है, जब तक कि उनके समाधान में एएसपी.नेट परियोजनाएं भी न हों।

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

यदि इन असफल - आप रास्तों कि अधिक से अधिक कर रहे हैं 260 से फ़ाइलें/फ़ोल्डर के लिए रिकर्सिवली अपने समाधान जड़ खोज, निम्नलिखित प्रदर्शन से कोशिश कर सकते हैं:

  • ओपन Powershell

  • सीडी <path to solution root>

  • cmd /c dir /s /b |? {$_.length -gt 260} > output.txt

यह आउटपुट.txt फ़ाइल में पथ> 260 के साथ फ़ाइलों की एक सूची पाइप करेगा जो आपके समाधान की जड़ में नव निर्मित किया जाएगा।

यह आपको आपके समाधान के भीतर फ़ाइलों को खोजने में मदद करेगा जो बहुत लंबे हैं।

0

मेरे पास एक समान समस्या थी जहां संकलक ने बताया कि फ़ाइल ASPNETCOMPILER के साथ कोई समस्या थी। वास्तविक मुद्दा यह था कि समाधान में node_modules फ़ोल्डर होता है, और इस फ़ोल्डर में बहुत लंबा पथ हो सकता है, और ऐसा लगता है कि संकलक इसे संभाल नहीं सकता है।

Windows 8.1 और 10 Win32 पथ सीमा बढ़ाने के लिए एक विकल्प है:

  • ओपन समूह नीति संपादक (प्रेस विंडोज + आर और प्रकार gpedit.msc और Enter दबाएं) निम्न निर्देशिका में
  • नेविगेट : स्थानीय कंप्यूटर नीति \ कंप्यूटर कॉन्फ़िगरेशन \ व्यवस्थापकीय टेम्पलेट \ सिस्टम \ फाइल सिस्टम
  • Win32 लंबे पथ विकल्प को सक्षम करने और इसे सक्षम करने पर डबलक्लिक करें।

यह आपको अस्थायी रूप से समस्या के बाहर समस्या फ़ोल्डर को स्थानांतरित करने की अनुमति दे सकता है, जो आपको सफलतापूर्वक निर्माण करने की अनुमति दे सकता है, तो आप किसी भी चीज़ को प्रभावित किए बिना फ़ोल्डर में वापस जोड़ सकते हैं।

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