बिल्ड कॉन्फ़िगरेशन: मिश्रित प्लेटफ़ॉर्म VS किसी भी CPU


92

विभिन्न बीच क्या अंतर है Build Configuration settingsजैसे किसी भी सीपीयू, मिश्रित प्लेटफार्म, WIN32 आदि दृश्य स्टूडियो में।

जवाबों:


42

यहां एक लिंक है जो विज़ुअल स्टूडियो और इसकी बिल्ड फ़ाइलों में पाई जाने वाली बिल्ड कॉन्फ़िगरेशन सेटिंग को समझाने में मदद करता है:

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

मूल रूप से सेटिंग बताती है कि विधानसभा किस मंच पर चलने में सक्षम है। AnyCPU का चयन होने पर, परिणामी DLL को कहीं भी चलाने में सक्षम के रूप में चिह्नित किया जाता है; जब x86 का चयन किया जाता है, परिणामी DLL को केवल 32-बिट सिस्टम पर चलाने में सक्षम होने के रूप में चिह्नित किया जाता है और 64-बिट अनुप्रयोगों या प्रक्रियाओं में नहीं चलेगा (लेकिन 64-बिट विंडोज में चलेगा;) और इसी तरह आगे।

यह सिर्फ संकलित DLL पर झंडे सेट करता है - यह संकलन प्रक्रिया के अन्य पहलुओं को बिल्कुल भी नहीं बदलता है।


1
इसके अलावा, समाधान फ़ाइल इंटरैक्शन पर इस लिंक को देखें: social.msdn.microsoft.com/forums/vstudio/en-US/…
J. Polfer

48
हालांकि यह "मिश्रित प्लेटफ़ॉर्म" की व्याख्या नहीं करता है।
मेनेस

2
@ मेनसे मेरी समझ (किसी खोए हुए संदर्भ से) यह है कि जब आप कोई समाधान खोलते हैं जिसमें सभी परियोजनाओं में समान कॉन्फ़िगरेशन नहीं होता है, तो विजुअल स्टूडियो शो करता है / समाधान कॉन्फ़िगरेशन को मिश्रित प्लेटफ़ॉर्म के रूप में चुनता है । (यदि मैं मूल संदर्भ पा सकता हूं, तो मैं इसे एक उद्धरण के साथ संशोधित करूंगा।)
koan911

8
लिंक Visualstudiohacks.com/articles/… मर चुका है।
ए.एच.

40

जैसा कि अन्य मंच ने पहले ही समझाया। (यानी 32 बिट के लिए X86, x64 केवल 64 बिट के लिए है, और 'Any CPU' दोनों में चल सकता है)। मैं Mixed Platformइस पर ध्यान केंद्रित करूँगा और यह कैसे अलग होगा Any CPU

Any CPUपरियोजना स्तर सेटिंग है, जहां वास्तविक दुनिया समाधान में के रूप में हम एक समाधान के तहत परियोजनाओं की संख्या है पर है, और अपने अवसरों को अपने प्रोजेक्ट उपयोग की कुछ कर रहे हैं Any CPU, लेकिन दूसरों का उपयोग करता है x86या x64निर्माण मंच।

तो समाधान स्तर पर स्वचालित रूप Mixed Platformसे चयन किया जाएगा। यह इंगित करता है कि बिल्ड / पुनर्निर्माण समाधान के दौरान प्रत्येक प्रोजेक्ट उनके चयनित मंच के आधार पर निर्माण करता है।


17

बिल्ड कॉन्फ़िगरेशन नामों का बहुत अधिक मतलब नहीं है - यदि आप C ++ और C # प्रोजेक्ट एक ही समाधान में हैं (और यहां तक ​​कि अगर आपके पास मोबाइल प्रोजेक्ट भी हैं) तो बहुत भिन्न हैं, क्योंकि विभिन्न प्रकार की परियोजनाएं विभिन्न कॉन्फ़िगरेशन नामों का उपयोग करती हैं, इसलिए आप समाप्त करते हैं उनमें से बहुत से।

हम उन सभी कॉन्फ़िगरेशनों को हटाने का प्रयास करते हैं जिनका हम उपयोग नहीं कर रहे हैं, लेकिन यह कभी-कभी कठिन काम होता है जब आप एक नई परियोजना जोड़ते हैं, तो अवांछित कॉन्फ़िगरेशन समाधान में वापस जोड़ दिए जाएंगे।

मेरी सिफारिशें यह तय करने के लिए हैं कि आपको कौन से कॉन्फ़िगरेशन की आवश्यकता है (उनके भीतर वास्तविक सेटिंग्स को देखकर), और फिर बाकी सब को हटा दें।


10

प्रेषक: इस पोस्ट से। https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

जब किसी समाधान की सभी परियोजनाएँ एक ही प्रकार की होती हैं (जैसे C # / VB प्रोजेक्ट) तो समाधान कॉन्फ़िगरेशन प्रोजेक्ट कॉन्फ़िगरेशन के साथ बिल्कुल मेल खाएँगे। एक बार जब आपके पास कॉन्फ़िगरेशन / प्लेटफ़ॉर्म पर बेमेल समाधान में प्रोजेक्ट्स होते हैं, तो Visual Studio समाधान स्तर कॉन्फ़िगरेशन (s) "मिश्रित प्लेटफ़ॉर्म / डीबग" और संभवतः "मिश्रित प्लेटफ़ॉर्म / रिलीज़" बनाता है। ये कॉन्फ़िगरेशन व्यक्तिगत प्रोजेक्ट स्तर कॉन्फ़िगरेशन के लिए केवल मैपिंग हैं।

उदाहरण के लिए, यदि आपके पास C # प्रोजेक्ट और C ++ प्रोजेक्ट है, तो आमतौर पर "मिश्रित प्लेटफ़ॉर्म / डीबग" C ++ प्रोजेक्ट के लिए "किसी भी CPU / डीबग" और C ++ प्रोजेक्ट के लिए "Win32 / डीबग" पर मैप करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.