2014-04-10 12 views
20

जब मैं चलाने मेरी TeamCity केवल निर्माण कदम धावक प्रकार दृश्य स्टूडियो (SLN), मैं निम्नलिखित त्रुटि मिलती है की होने के साथ निर्माण:MSBuild त्रुटि MSB4025

C:\TeamCity\buildAgent\work\4978ec6ee0ade5b4\Test\Code\Test.sln(2, 1): error MSB4025: The project file could not be loaded. Data at the root level is invalid. Line 2, position 1. 

इस पर है एक समर्पित सीआई सर्वर टीमसिटी प्रोफेशनल 8.1.1 चला रहा है (2 9 3 9 3 का निर्माण)। इस सर्वर पर कई अन्य सफलतापूर्वक चल रहे निर्माण हैं।

अजीब बात यह है कि एक ही बिल्ड मेरी देव मशीन पर टीमसिटी पर सफलतापूर्वक चलता है। मैंने एक ही प्रश्न के लिए an answer का पालन किया, और निर्दिष्ट फ़ोल्डर्स को कॉपी किया, लेकिन इससे मदद नहीं मिली।

मुझे यकीन है कि परियोजना/समाधान फ़ाइल अमान्य नहीं है क्योंकि मेरे देव बॉक्स पर चलने के निर्माण के अलावा, मैंने विजुअल स्टूडियो में समाधान खोला है और इसे बिना किसी समस्या के बनाया है।

कोई सुझाव?

उत्तर

20

मैंने अभी इसे ठीक किया है।

प्रोजेक्ट या एंडप्रोजेक्ट टैग के लिए Test.sln फ़ाइल के अंदर देखो जो बंद नहीं हैं। हमारे लिए, एंडप्रोजेक्ट गायब था और यह टीमसिटी पर टूट गया, लेकिन विजुअल स्टूडियो में कोई समस्या नहीं थी।

+2

वहाँ फ़ाइलों .sln पार्स करने के लिए उपकरण हैं के बारे में सुराग दे दिया:। http: // stackoverflow। कॉम/प्रश्न/707107/लाइब्रेरी-फॉर-पार्सिंग-विज़ुअल-स्टूडियो-समाधान-फाइल मैंने https://slntools.codeplex.com/ का उपयोग किया था, कोई भी आदेश आपको बताएगा कि आपकी .sln फ़ाइल – fireydude

+0

से क्या गुम है ध्यान दें कि यदि आप MSBuild के साथ इसे चलाने का प्रयास करते हैं तो आपको एक और अधिक उपयोगी त्रुटि संदेश मिलता है। – devlord

4

हमारे मामले में, यह समाधान फ़ाइल में एक डुप्लिकेट प्रोजेक्ट संदर्भ था (लगभग एक साथ काम करता है और एक स्वचालित विलय)।

5

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

पिछली पोस्ट के साथ मुझे विजुअल स्टूडियो में कोई समस्या नहीं थी। मुझे केवल एक और सहायक त्रुटि संदेश मिला जिसने मुझे यह पता लगाने की अनुमति दी कि जब मैंने msbuild का उपयोग किया था तो वास्तविक समस्या क्या थी।

एक और उदाहरण के लिए https://therightjoin.wordpress.com/2014/07/04/msb4025-the-project-file-could-not-be-loaded-data-at-the-root-level-is-invalid-error-when-building-ssdt-project-in-teamcity देखें, और जहां msbuild का उपयोग करने से वास्तविक समस्या की पहचान करने में मदद मिली।

1

मेरे मामले में, विलय के बाद, .sln फ़ाइल में, यह लाइनों की एक बेमेल

GlobalSection(NestedProjects) = preSolution 

{6B971E15-6B61-4AA8-9B93-9639C23269C3} = {9A14E7EF-3FA1-4B9A-B413-C550B3E5AC62} 

{54D14F01-D576-4DE6-9404-D21AD0DC4916} = {9A14E7EF-3FA1-4B9A-B413-C550B3E5AC62} 

... (was some extra entry here) 
... 

EndGlobalSection 

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

1

एक और मामला

में हम एक रिक्त लाइनों था!

उम्मीद है कि इससे कुछ और मदद मिलती है!

1

मुझे जेनकींस के साथ यही त्रुटि मिली। यह रूट जेनकिंस फ़ोल्डर को सी: \ प्रोग्राम फ़ाइलें (x86) \ पर सेट किया गया था और इसमें बिन और ओबीजे निर्देशिकाओं तक लेखन पहुंच नहीं थी।

त्रुटि: त्रुटि MSB4025: प्रोजेक्ट फ़ाइल लोड नहीं की जा सकी। रूट स्तर पर डेटा अमान्य है।

मैं प्रशासक के रूप में cmd ​​का शुभारंभ किया और इस भाग गया: "C: \ प्रोग्राम फ़ाइलें (x86) \ MSBuild \ 14.0 \ बिन \ MSBuild.exe" "C: \ प्रोग्राम फ़ाइलें (x86) \ जेनकींस \ कार्यक्षेत्र \ BuildBI_1 \ रिपोर्ट \ टेस्ट \ ReportsTests।SLN "/ टी: निर्माण/p: RunOctoPack = सच

और वह मुझे बिन और obj में लिखने के लिए सक्षम नहीं होने के