2010-01-05 13 views
7

क्या मौजूदा दृश्य स्टूडियो प्रोजेक्ट फ़ाइल को कनवर्ट करना संभव है जो एक Win32 अनुप्रयोग को एक प्रोजेक्ट फ़ाइल में बनाता है जो Win32 "कंसोल" एप्लिकेशन बनाता है? यदि हां, तो यह कैसे किया जाता है? मैंने गुमराह किया है और बहुत से लोग विपरीत कर रहे हैं, लेकिन इस तरह से कोई नहीं।क्या Win32 एप्लिकेशन प्रोजेक्ट को कंसोल एप्लिकेशन में कनवर्ट करना संभव है?

+0

कुछ काम की तरह लगता है, विंडोज़ सामान कितना है - जैसे फॉर्म और संवाद इत्यादि - आपको उन सभी को फिर से लिखना होगा। जहां तक ​​प्रोग्राम स्टार्टअप का संबंध है - यह काफी छोटा होना चाहिए - बस फ़ाइलों को एक नई कमांड लाइन ऐप प्रोजेक्ट से कॉपी करें। ओह हाँ, और सबस्टेस्ट स्विच। –

+0

याहू, प्रोजेक्ट + गुण, एप्लिकेशन टैब, आउटपुट प्रकार = कंसोल एप्लिकेशन। यह आपको एक कंसोल विंडो मिल जाता है। भी। –

उत्तर

12

लिंकर स्तर पर, भेद /SUBSYSTEM switch to the linker के साथ बनाया गया है। हालांकि, चूंकि विजुअल स्टूडियो में प्रोजेक्ट के प्रकार के आसपास बनाई गई बहुत सारी चीजें हैं, कभी-कभी नई कंसोल मोड प्रोजेक्ट बनाने के लिए सबसे आसान है, और मौजूदा कोड को नई प्रोजेक्ट में जोड़ें।

+0

मैं अनिवार्य रूप से यह सलाह ले रहा हूं ... धन्यवाद .. – dicroce

+0

आप परियोजना गुणों में इसे काफी आसानी से स्विच कर सकते हैं: http://hdrlab.org.nz/articles/windows-development/changing-a-windows-app- टु-ए-सांत्वना-ऐप-इन-दृश्य स्टूडियो /। एक प्रीप्रोसेसर परिभाषा भी है: '_WINDOWS' जिसे डीबग और रिलीज बिल्ड दोनों के लिए' _CONSOLE' में बदला जाना चाहिए। –

0

आप दृश्य स्टूडियो का अपना संस्करण निर्दिष्ट नहीं करते हैं। एक्सएमएल परियोजना परिभाषाओं के संस्करणों में, आप एक्सएमएल को संशोधित कर सकते हैं। बिल्ली, आप एक्सएसएलटी के साथ ऐसा करने में सक्षम हो सकते हैं। पुराने संस्करण में, आप एक नई परियोजना बनाने से बेहतर हैं।

आपको दो साधारण परियोजनाएं (एक जीयूआई, एक कंसोल) बनाना चाहिए और परियोजना परिभाषा एक्सएमएल फाइलों की तुलना करना चाहिए ताकि यह देखने के लिए कि क्या करने की आवश्यकता है।

+0

विजुअल स्टूडियो 2008. एक्सएमएल में मुझे विशेष रूप से क्या संशोधित करना चाहिए? – dicroce

1

मुझे इसके स्वचालित तरीके से अवगत नहीं है। मुझे लगता है कि आप उस स्विच को बनाने के लिए सभी प्रोजेक्ट सेटिंग्स बदल सकते हैं। लेकिन यह थकाऊ होगा। मेरा मानना ​​है कि सिर्फ एक नई परियोजना बनाने और स्रोत फाइलों को जोड़ने के लिए यह आसान होगा।

0

यह संभव है, लेकिन यह इस बात पर निर्भर करता है कि एप्लिकेशन को कैसे आर्किटेक्टेड किया गया था। यदि डिज़ाइन वह है जो स्पष्ट रूप से प्रस्तुति से व्यवसाय तर्क को अलग करता है, तो आप व्यवसाय तर्क कोड और कक्षाओं को एक अलग पुस्तकालय में निकालने में सक्षम हो सकते हैं, अगर ऐसा अभी तक नहीं किया गया है। एक बार यह चरण पूरा हो जाने के बाद, आपको उस लाइब्रेरी के लिए एक नया एपीआई बनाना होगा, ताकि कंसोल एप्लिकेशन (या कोई अन्य एप्लिकेशन) इसका उपयोग कर सके।

दूसरी तरफ, यदि फॉर्म में व्यावसायिक तर्क शामिल है, तो उन प्रक्रियाओं को नए, गैर-प्रस्तुति वर्गों में निकाला जाना होगा और आपके नए पुस्तकालयों में शामिल होना होगा। जैसा कि मैंने कहा ... संभव है, लेकिन बहुत काम हो सकता है।

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