2011-10-21 13 views
7

हमारा टीमसिटी एजेंट अब 32 बिट ओएस पर चल रहा है और अब तक यह कोई मुद्दा नहीं था (अब हमारे पास एक x64 एप्लिकेशन हैं)।विंडोज़ (टीमसिटी) के 32 बिट संस्करण पर x64 संकलन

मैंने 32 बिट ओएस पर x64 अनुप्रयोगों को संकलित करना संभव सुना लेकिन मैंने इसे कभी नहीं किया है। टीमसिटी x64 में एक विशिष्ट प्रोजेक्ट बनाने के लिए आवश्यक कदम क्या होगा - आदर्श रूप से एमएसबिल्ड का उपयोग करना?

जब मैं अपने प्रोजेक्ट के MSBuild संपत्ति "रन मंच" मेरे एजेंट x64 के लिए मेरा पीछा चेतावनी दे सेट: "अपूर्ण आवश्यकताओं: DotNetFramework4.0_x64 मौजूद है"

एक तरफ ध्यान दें के रूप में: हम अंततः के लिए एजेंट चले जाएँगे एक 64 बिट ओएस लेकिन मुझे एक अल्पकालिक समाधान चाहिए।

+2

प्लेटफार्म लक्ष्य के रूप में हमेशा x64 का चयन न करें, हमेशा कोई भीCPU। –

उत्तर

15

मुझे लगता है कि TeamCity में MSBuild के लिए Run Platform उपयोग करने के लिए, यह C:\Windows\Microsoft.NET\Framework64\v4.0.30319 फ़ोल्डर में MSBuild.exe की तलाश में जब आप Windows के 32-बिट संस्करण पर हैं MSBuild का कौन सा संस्करण के लिए है, और उस ढांचे 'isn टी स्थापित नहीं है। हालांकि, एमएसबिल्ड का 32-बिट संस्करण सी # कंपाइलर का आह्वान कर सकता है जो अभी भी आपकी 32-बिट मशीन पर भी x64 असेंबली का उत्पादन कर सकता है।

आप जो करना चाहते हैं वह x12 के लिए Run Platform है, लेकिन /property:Platform=x64 को अपने आदेशों में से एक के रूप में पास करें। यदि आपके पास x64 कॉन्फ़िगरेशन नहीं है, तो आप इसे /property:Platform="Any CPU" पास करने का प्रयास करने पर विचार कर सकते हैं। हालांकि, किसी भी सीपीयू को केवल काम करने की गारंटी दी जाएगी यदि आप अपने प्रोजेक्ट में संदर्भित सभी असेंबली को भी सीपीयू सेट करते हैं। वैकल्पिक, आप एक कस्टम कॉन्फ़िगरेशन बना सकते हैं जहां आपकी सभी असेंबली x64 निर्दिष्ट हैं, और एमएसबिल्ड को कमांड लाइन के माध्यम से पास करें।

ध्यान रखें कि आपकी कोई भी परियोजना सी ++ है, तो आपको यह सुनिश्चित करना होगा कि आपके पास x64 कंपाइलर स्थापित हैं, क्योंकि मुझे नहीं लगता कि वे डिफ़ॉल्ट रूप से स्थापित हैं।

+0

यही वह है जिसे मैं ढूंढ रहा था।/संपत्ति के बजाय: कॉन्फ़िगरेशन = x64 यह था/संपत्ति: प्लेटफ़ॉर्म = x64 – Benoittr

+0

ओह हाँ, यह मेरा बुरा है, मैं जवाब अपडेट कर दूंगा। कॉन्फ़िगरेशन रिलीज/डीबग के लिए है, प्लेटफ़ॉर्म सीपीयू निर्दिष्ट करता है। –

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