2008-09-19 21 views
7

मैं जब टीम फाउंडेशन बिल्ड का उपयोग कर मेरे ऐप बनाने की कोशिश निम्न त्रुटि हो रही है:मैं एमएसबिल्ड टीम फाउंडेशन बिल्ड के तहत उपयोग की जाने वाली बिल्ड निर्देशिका को कैसे बदलूं?

C: \ WINDOWS \ Microsoft.NET \ फ्रेमवर्क \ v3.5 \ Microsoft.Common.targets (1682,9): त्रुटि MSB3554: आउटपुट फ़ाइल "obj \ release \ Company.Redacted.BlahBlah.Localization.Subsystems। स्टार्टअप_शूटडाउन_Processing.StartupShutdownProcessingMessages.de.resources" पर नहीं लिख सकता है। निर्दिष्ट पथ, फ़ाइल नाम, या दोनों बहुत लंबे हैं। पूरी तरह से योग्य फ़ाइल नाम 260 वर्णों से कम होना चाहिए, और निर्देशिका का नाम 248 वर्णों से कम होना चाहिए।

मेरा प्रोजेक्ट मेरी विकास मशीन पर ठीक बनाता है क्योंकि स्रोत केवल दो फ़ोल्डर्स गहरा है, लेकिन टीएफ बिल्ड वास्तव में गहरी निर्देशिका का उपयोग करने लगता है जो इसे तोड़ने का कारण बनता है। मैं उपयोग किए गए फ़ोल्डरों को कैसे बदलूं?

संपादित करें: मुझे लगता है कि स्रोत नियंत्रण में संग्रहीत और पाया जाता है अपने निर्माण के लिए .proj फ़ाइल को चेक कर निम्नलिखित:

<!-- BUILD DIRECTORY 
This property is included only for backwards compatibility. The build directory used for a build 
definition is now stored in the database, as the BuildDirectory property of the definition's 
DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value 
in the database. 
--> 
<BuildDirectoryPath>UNKNOWN</BuildDirectoryPath> 

इस डेटाबेस मैं इसे कैसे बदल सकता हूँ में संग्रहीत किया जाता है?

संपादित करें: निम्न ब्लॉग पोस्ट मिला जो मुझे समाधान को टॉरवर्ड करने के लिए इंगित कर रहा है। अब मुझे यह समझने की जरूरत है कि बिल्ड एजेंट में सेटिंग कैसे बदलें। http://blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx

वर्तमान में मेरी कामकाजी निर्देशिका "$ (Temp) \ $ (BuildDefinitionPath)" है लेकिन अब मुझे नहीं पता कि एक अलग फ़ोल्डर निर्दिष्ट करने के लिए वाइल्डकार्ड क्या उपलब्ध हैं।

उत्तर

16

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

मैं व्यक्तिगत रूप से c: \ bw \ $ (BuildDefinitionId) जैसे कुछ उपयोग करता हूं। $ (BuildDefinitionId) बिल्ड परिभाषा की आईडी में अनुवाद करता है (इसलिए नाम :-)), जिसका अर्थ है कि आपको सी: \ bw \ 36 की बजाय सी: \ दस्तावेज़ और सेटिंग्स \ tfsbuild \ Local की तरह कुछ बनाना शुरू होता है सेटिंग्स \

गुड लक,

मार्टिन अस्थायी \ BuildDefinitionName।

+0

भविष्य के संदर्भ के लिए मूल मूल्य हमें $ (सिस्टम ड्राइव) \ बिल्ड्स \ $ (BuildAgentId) \ $ (BuildDefinitionPath) – Simon

+0

और दूसरा अच्छा संसाधन http://blogs.msdn.com/b/aaronhallberg/archive/2007/06/20/team-build-and-260-character-paths.aspx – Simon

0

आपको स्रोत नियंत्रण एक्सप्लोरर से बिल्ड स्क्रिप्ट फ़ाइल को चेकआउट करना होगा, और पथ को बदलकर अपनी कोहनी गंदे पाएं।

+0

प्रश्न पर स्पष्टीकरण देखें। – Luke

+1

प्रश्नकर्ता लगता है कि वह टीएफएस 2008 का उपयोग कर रहा है। यह सुझाव टीएफएस 2005 के लिए सही जवाब है। –