2012-12-10 11 views
6

मैं एक विंडोज फोन परियोजना जो पहले से लक्षित कर रहा था WP 7.1 मंच पदभार संभाल लिया है लक्षित करने के लिए, और नए मंच की हाल की घोषणा के साथ यह WP 8 को लक्षित करना चाहिए विंडोज फोन कोड बेस को व्यवस्थित करने के भी।कैसे दोनों 7.x और 8 प्लेटफॉर्म

मेरा वीएस 2010 समाधान में कई परियोजनाएं (डेटा एक्सेस, मॉडल, टेस्ट और WP7 क्लाइंट ऐप) शामिल हैं और मैं WP8 के लिए समर्थन को शामिल करने के तरीके पर भटक रहा हूं।

मुझे यह ध्यान रखना होगा कि टूलकिट नियंत्रण और WP7.1 के लिए लक्षित अन्य तृतीय पक्ष पुस्तकालयों के उपयोग के कारण कोड-बेस WP8 के साथ संगत नहीं है।

विजुअल स्टूडियो संस्करणों के साथ भी एक और समस्या है - WP7.1 वीएस 2010 के साथ काम कर सकता है, लेकिन WP8 को वीएस 2012 की आवश्यकता है। क्या मुझे पूरे कोड-बेस को वीएस 2012 में ले जाना चाहिए?

डुप्लिकेशंस और संभावित दर्दनाक रखरखाव से बचने के लिए कोड-बेस को सबसे सार्थक तरीके से व्यवस्थित करने के बारे में कोई अच्छी सलाह है?

मैं एक समाधान के बीच में सोच रहा हूँ - कई परियोजनाओं बनाम कई समाधान - पुन: प्रयोज्य परियोजनाओं दृष्टिकोण। कोड डुप्लिकेशन (दो अलग फ़ोल्डरों/समाधानों की तरह) कम से कम संभव दृष्टिकोण (फॉलबैक) होना चाहिए।

उत्तर

3

डब्ल्यूपी2012 दोनों का समर्थन करने में सक्षम होने के लिए सभी परियोजनाओं को VS2012 में अपग्रेड करना सबसे अच्छा काम है (आप अभी भी वीएस -2010 में WP7 प्रोजेक्ट खोलने में सक्षम होंगे, यह वीएस2012 समाधान होने के बावजूद, 'क्योंकि यह पिछड़ा संगत है)।

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

अंत में, आप #if निर्देश का उपयोग करके कुछ सशर्त कोड संकलन का उपयोग कर सकते हैं।

आशा है कि यह जानकारी मदद करेगी, और यदि कोई कोड नमूना आवश्यक है, तो बस इतना कहें और मैं कुछ इकट्ठा करने की कोशिश करूंगा।

+0

तत्काल उत्तर मार्को के लिए धन्यवाद। मुझे आपका दृष्टिकोण पसंद है, और इसे आजमाएं। मेरे निष्कर्षों के साथ वापस आ जाएगा ... – ljubomir

+0

मुझे विंडोज 8 + विजुअल स्टूडियो 2012 पर्यावरण को व्यवस्थित करने में कुछ समय लगा, लेकिन यह निश्चित रूप से मैं जिस तरह से पालन करना चाहता हूं। मेरे पास अब दो क्लाइंट प्रोजेक्ट्स के साथ एक समाधान है, प्रत्येक विंडोज फोन प्लेटफार्म के विभिन्न संस्करण को लक्षित करता है, और कुछ पुन: प्रयोज्य पुस्तकालय जो उनके बीच साझा किए जाते हैं। एक बार फिर धन्यवाद। – ljubomir

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