2010-02-21 11 views
7

मैं एक एमएसबील्ड फ़ाइल बना रहा हूं और टीमसिटी (5.0.2 (10784 बिल्ड) के भीतर एमएसबिल्ड बिल्ड रनर के साथ इसका उपयोग कर रहा हूं), लेकिन मुझे नहीं लगता कि यह एमएसबिल्ड का सही संस्करण चला रहा है क्योंकि मुझे निम्न त्रुटि मिल रही है:गलत एमएसबिल्ड निष्पादन योग्य का उपयोग कर टीमसिटी?

error MSB5014: File format version is not recognized. MSBuild can only read solution files between versions 7.0 and 9.0, inclusive.

मैं टीमसिटी के साथ कुल नौसिखिया हूं, इसलिए मुझे यकीन नहीं है कि इसे कॉन्फ़िगर करने के तरीके को कहां देखना है। जैसा कि आप नीचे स्क्रीनशॉट से देख सकते हैं, मैंने बिल्डर कॉन्फ़िगरेशन स्क्रीन में संस्करण 4.0 का चयन किया है।

Build Configuration

+0

आपको एहसास है कि .NET 4.0 अभी भी बीटा में है, है ना? क्या आप वाकई 3.5 या 2.0 नहीं चाहते हैं? – TrueWill

+0

हाँ ... मैं वीएस -2010 के आसपास केंद्रित ब्राउन बैग डेमो की एक श्रृंखला का निर्माण कर रहा हूं। दर्शकों का एक बड़ा प्रतिशत निरंतर एकीकरण से अपरिचित है, इसलिए मैं इसे समूह में पेश करने के लिए एक सीआई डेमो भी बना रहा हूं। चूंकि वे पहले से ही मेरी परियोजना (यूनिट परीक्षण सहित) से परिचित हैं, इसलिए मैं उसी डेमो प्रोजेक्ट का उपयोग करना पसंद करता हूं जिसे मैंने अन्य डेमो में उपयोग किया है। – senfo

उत्तर

5

त्रुटि के आधार पर यह टीम शहर/MSBuild कॉन्फ़िगरेशन की तरह लगता है VS2010 समर्थन नहीं करता। वीएस -2010 के लिए समाधान संस्करण 10.0 हैं जहां त्रुटि इंगित करती है कि यह केवल संस्करण 7.0 से 9.0 का समर्थन करता है।

Here टीमसिटी का उपयोग कर वीएस -2010 परियोजनाओं के निर्माण पर चर्चा करने वाला एक फोरम थ्रेड है।

+0

उसने ऐसा किया! आपका बहुत बहुत धन्यवाद। – senfo

4

the forum thread से जवाब निकाला जा रहा है:

मुद्दा TeamCity 5.1 में तय हो गई है, लेकिन वहां यह 5.0

असल में काम करने के लिए एक हैक है, तो आप तंत्र कि MSBuild करने के लिए पथ सेट ओवरराइड करने के लिए की जरूरत है .exe निर्माण कॉन्फ़िगरेशन के निर्माण धावक भाग में निर्दिष्ट .NET Framework के संस्करण के आधार पर।

ऐसा करते हैं, वातावरण चर "MSBuild" बना सकते हैं और इसे सेट करने के लिए% system.DotNetFramework4.0_x86_Path% (जो एक चर स्वचालित रूप से निर्माण धावक द्वारा उत्पन्न होता है जब उसे पता चलता है यह .NET 4.0 स्थापित है)

वैरिएबल को या तो buildAgent.properties फ़ाइल में एजेंट पर बनाया जा सकता है, इस मामले में इसे "env.MSBuild" नाम दिया जाना चाहिए, और चूंकि इसे वैश्विक रूप से परिभाषित किया गया है, यह इस बिल्ड एजेंट पर बनाए गए सभी परियोजनाओं को प्रभावित करेगा।

या, इसे बिल्ड कॉन्फ़िगरेशन के अंदर ही बनाया जा सकता है (फिर नाम केवल "एमएसबिल्ड" होगा) - इस मामले में यह केवल इस बिल्ड कॉन्फ़िगरेशन पर लागू होगा।

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