2011-11-30 14 views
15

प्रारंभ में, मैंने Mass Transit का उपयोग करके मेरी सेवा बस के रूप में एक कंसोल एप्लिकेशन बनाया। हाल ही में, मैंने NServiceBus पर स्विच किया है, जिसके लिए आपको कंसोल एप्लिकेशन बनाने की आवश्यकता नहीं है, बल्कि इसके बजाय क्लास लाइब्रेरी भी है। प्रोजेक्ट गुणों में, मैंने बस उस सेटिंग को स्विच किया जो इसे कंसोल एप्लिकेशन से लाइब्रेरी में बदलता है, लेकिन बाधा जिसे आप केवल x86 के लिए बना सकते हैं, अभी भी प्रभावी है।विजुअल स्टूडियो 2010 (कंसोल एप्लिकेशन से क्लास लाइब्रेरी तक) में बिल्ड विकल्प के रूप में x64 (या कोई भी CPU) जोड़ने के लिए कैसे करें

मैं बिल्ड प्रकार को किसी भी सीपीयू में नहीं बदल सकता अब यह एक कंसोल एप्लीकेशन है, जो अब मान्य होना चाहिए। क्या पर कोई तरीका है पूरी तरह से मेरे एप्लिकेशन को क्लास लाइब्रेरी में बदलें ताकि मैं कोई भी CPU विकल्प बना सकूं? क्या मुझे एक नई परियोजना बनाने की ज़रूरत है, इसमें फाइल कॉपी करें और इस तरह जारी रखें? या यह प्रोजेक्ट (.proj) फ़ाइल में कुछ बदलना जितना आसान है?

स्टैक ओवरफ़्लो प्रश्न Missing Debug|Any CPU build configuration for projects and defaulting to Debug|x86 on Windows x64 केवल कंसोल अनुप्रयोगों के लिए x86 के इस मुद्दे के आसपास अधिक संदर्भ देता है।

+0

आप वीएस -2010 में एक मूल रूप से बेवकूफ डिजाइन निर्णय से जूझ रहे हैं, आपके द्वारा अपने समाधान में जोड़े गए प्रत्येक प्रोजेक्ट x86 के प्लेटफ़ॉर्म लक्ष्य पर डिफ़ॉल्ट है। यहां तक ​​कि कक्षा पुस्तकालयों, जिस तरह से EXE प्रोजेक्ट का चयन नहीं किया गया है। सेटिंग को किसी भी एसीसीपीयू पर वापस फ्लिप करें। –

+2

@ हंस ... नहीं, केवल ऐसी परियोजनाएं जो x86 को EXEs डिफ़ॉल्ट बनाती हैं, क्योंकि एमएस ने यह निर्धारित किया है कि आर्किटेक्चर-तटस्थ EXE आमतौर पर उनके लायक होने से अधिक परेशानी होती हैं। 32-बिट अनुप्रयोगों में अधिक सुविधाओं तक पहुंच है और आमतौर पर 64-बिट अनुप्रयोगों की तुलना में थोड़ा तेज़ होता है, इसलिए यह डिफ़ॉल्ट है। बीटा संस्करणों में एक बग था जो सभी प्रोजेक्ट को x86 में डिफॉल्ट करता था, लेकिन नवीनतम संस्करण डिफ़ॉल्ट क्लास लाइब्रेरीज़ को किसी भी CPU पर। – Gerald

उत्तर

18

आपको कॉन्फ़िगरेशन प्रबंधक में किसी भी CPU के लिए कॉन्फ़िगरेशन जोड़ने की आवश्यकता है।

1) समाधान का चयन करें गुण

2) का चयन विन्यास गुण राइट-क्लिक करें, उसके बाद कॉन्फ़िगरेशन मैनेजर ...

3) कोई सीपीयू के लिए सक्रिय समाधान मंच बदलें। यदि कोई सीपीयू प्लेटफ़ॉर्म नहीं है, तो # 4 पर जाएं।

4) अपने वर्ग पुस्तकालय के लिए प्लेटफार्म स्तंभ के अंतर्गत कॉम्बो बॉक्स में तीर पर क्लिक करें और न्यू ...

5) यकीन है कि "कोई भी सीपीयू" नया प्लेटफार्म के तहत चयनित है। यदि चरण 3 में कोई भी CPU समाधान प्लेटफ़ॉर्म नहीं था, तो सुनिश्चित करें कि "नया समाधान प्लेटफ़ॉर्म बनाएं" चेकबॉक्स चेक किया गया है। फिर ठीक क्लिक करें।

6) अपने वर्ग पुस्तकालय

7) कॉन्फ़िगरेशन मैनेजर से बाहर बंद के लिए "बिल्ड" स्तंभ में चेकबॉक्स की जाँच करें, और अपने वर्ग पुस्तकालय

8 के लिए गुण खोलने के लिए) के लिए किसी भी सीपीयू का चयन करें प्लेटफ़ॉर्म, फिर प्लेटफ़ॉर्म लक्ष्य के लिए कोई भी CPU चुनें, और सहेजें।

(चरण 8 हो सकता है या आवश्यक नहीं हो सकता, निर्भर करता है कि क्या पहले से विन्यास के साथ किया गया है पर।)

+2

क्या आप सभी नए कंसोल कार्यक्रमों के लिए डिफ़ॉल्ट रूप से ऐसा करने के तरीके के बारे में जानते हैं? – naasking

+8

मैं 'AnyCPU' नहीं बना सकता क्योंकि मुझे त्रुटि मिलती है कि यह कॉन्फ़िगरेशन पहले से मौजूद है, लेकिन मैं इसे कंसोल ऐप के लिए नहीं चुन सकता। –

+0

@Johnny_D "नए समाधान प्लेटफॉर्म बनाएं" चेक बॉक्स को अनचेक करना मेरे लिए काम किया गया चेक बॉक्स। –

0

बस किसी भी सीपीयू विन्यास प्रबंधक में के लिए एक विन्यास जोड़ें।

  1. समाधान पर राइट-क्लिक करें और गुण चुनें।

  2. कॉन्फ़िगरेशन गुणों का चयन करें, फिर कॉन्फ़िगरेशन प्रबंधक क्लिक करें।

  3. किसी भी CPU पर सक्रिय समाधान प्लेटफ़ॉर्म बदलें। यदि कोई सीपीयू प्लेटफ़ॉर्म नहीं है, तो चरण 4 पर आगे बढ़ें।

  4. अपनी कक्षा लाइब्रेरी के लिए प्लेटफ़ॉर्म कॉलम के अंतर्गत कॉम्बो बॉक्स में तीर पर क्लिक करें और नया चुनें।

  5. सुनिश्चित करें कि कोई भी सीपीयू नया प्लेटफार्म के तहत चुना गया है। यदि चरण 3 में कोई भी CPU समाधान प्लेटफ़ॉर्म नहीं था, तो सुनिश्चित करें कि "नया समाधान प्लेटफ़ॉर्म बनाएं" चेकबॉक्स चेक किया गया है। फिर ठीक क्लिक करें।

  6. चेक अपने वर्ग पुस्तकालय के लिए "बिल्ड" स्तंभ में चेकबॉक्स

  7. बंद कॉन्फ़िगरेशन मैनेजर से बाहर है, और अपने वर्ग पुस्तकालय

  8. के लिए गुण को खोलने के प्लेटफार्म के लिए किसी भी सीपीयू चयन करें, फिर प्लेटफ़ॉर्म लक्ष्य के लिए कोई भी CPU चुनें, और सहेजें।

चरण 8 या, आवश्यक नहीं हो सकता हो सकता है क्या पहले से विन्यास के साथ किया गया है पर निर्भर करता है।