2011-03-14 9 views
5

मैं एक ही विजुअल स्टूडियो समाधान के साथ एक से अधिक WP7 ऐप को कैसे तैनात कर सकता हूं? इसे प्राप्त करने के लिए मुझे क्या बदलने की ज़रूरत है? एक्सप फ़ाइल नाम और असेंबली GUID और शीर्षक बदलना इसे प्राप्त नहीं करता है। वास्तव में वीएस नए शीर्षक के साथ पुराने व्यक्ति को ओवरराइड करता है लेकिन एक अलग ऐपएक ही दृश्य स्टूडियो समाधान के साथ एक से अधिक WP7 ऐप को तैनात करें?

पृष्ठभूमि: हमारे पास एक लाइट और प्रो ऐप है और मैं फोन पर दोनों संस्करणों को तैनात करने में सक्षम होना चाहता हूं।

संपादित करें:

ट्रायल API ने हमारे लिए एक विकल्प नहीं है। हमने इसके बारे में सोचा है लेकिन इसका उपयोग करने का फैसला नहीं किया है।

+0

Lite और Pro एक ही परियोजना है? यदि वे अलग-अलग परियोजनाएं हैं, तो बस परियोजनाओं का निर्माण या तैनाती करें, और उसके बाद उस प्रोजेक्ट के लिए बिन फ़ोल्डरों को देखें। – Martin

+4

क्यों [परीक्षण मोड एपीआई] का उपयोग न करें (http://devlicio.us/blogs/derik_whittaker/archive/2010/10/18/enabling-your-wp7- appplication-to-be-installed-in-trial-mode .aspx) इसे एक ही ऐप के भीतर पूरा करने के लिए? आपके उपयोगकर्ताओं के लिए लाइट से प्रो तक जाने के लिए बहुत आसान है। – theChrisKent

+0

मैं पूरी तरह से @theChrisKent से सहमत हूं - बाज़ार में "लाइट" ऐप्स के साथ कूड़ेदान न करें जब परीक्षण के लिए पूरी तरह से अच्छी प्रणाली है। –

उत्तर

5

मैंने प्रीबिल्ड घटनाएं बनाई हैं, जो मौजूदा कॉन्फ़िगरेशन नाम पर आधारित है। यह घटना समाधान में ऐप कॉन्फ़िगरेशन (WMAppManifest.xml, SplashScreenImage.jpg) को प्रतिस्थापित करती है।

उदाहरण:

echo "$(ConfigurationName)" 

if "$(ConfigurationName)" == "Lite" goto :copyLite 
if "$(ConfigurationName)" == "PRO" goto :copyPro 

echo "Unknown Configuration" 
goto :end 

:copyLite 
echo "copy lite" 
    copy "$(ProjectDir)Resources\PreBuildEvent\Lite\WMAppManifest.xml" "$(ProjectDir)\Properties\" /y 
    copy "$(ProjectDir)SplashScreenImageLite.jpg" "$(ProjectDir)SplashScreenImage.jpg" /y 
goto :end 

:copyPro 
echo "copy pro" 
    copy "$(ProjectDir)Resources\PreBuildEvent\Pro\WMAppManifest.xml" "$(ProjectDir)\Properties\" /y 
    copy "$(ProjectDir)SplashScreenImagePro.jpg" "$(ProjectDir)SplashScreenImage.jpg" /y 

goto :end 

:end 
0

यदि दो ऐप्स एक ही समाधान के भीतर विभिन्न परियोजनाएं हैं, तो आप कॉन्फ़िगरेशन प्रबंधक का उपयोग करके निर्माण पर कौन से लोगों को तैनात कर सकते हैं नियंत्रित कर सकते हैं।

यदि आप कई संबंधित परियोजनाओं को एक ही समाधान में नहीं डाल रहे हैं, तो इसे लिखने पर विचार करें। मुझे यह कई संबंधित परियोजनाओं के प्रबंधन का एक शानदार तरीका मिल गया है।

1

मैं आपको परीक्षण API पर विचार करने की सलाह दूंगा। जो आप पूरा करने की कोशिश कर रहे हैं उसके लिए यह पसंदीदा WP7 कार्यान्वयन है। लेकिन अगर आपको संसाधनों को साझा करने वाले दो ऐप्स प्राप्त करने की आवश्यकता है, तो मैं आपको कई समाधानों में अपने समाधान की संरचना करने की सलाह दूंगा। प्रत्येक फोन आवेदन अपनी परियोजना होना चाहिए। फिर कक्षा परियोजनाएं बनाएं जो "अनुप्रयोगों" दोनों के बीच तत्व साझा करें। प्रत्येक फोन प्रोजेक्ट एक अलग "एप्लिकेशन" में संकलित होगा।

+0

उसने समाधान की प्रतिलिपि बनाई ताकि आप जो कह रहे हैं वह काम नहीं करता/समझ में नहीं आता – Jon

1

यदि आप एक ही प्रोजेक्ट से दो अलग-अलग एक्सएपी इंस्टॉलेशन प्राप्त करना चाहते हैं, तो आपको केवल गुण/WMAppManifest.xml फ़ाइल के अंदर शीर्षक और उत्पाद आईडी GUID जानकारी को बदलने की आवश्यकता है - हालांकि आप शायद अन्य चीजों को भी बदलना चाहेंगे - उदाहरण के लिए आइकन, स्प्लैशस्क्रीन और कुछ "लगभग" जानकारी

+0

मैंने कोशिश की, जैसा कि मैंने उपरोक्त कहा है और यह काम नहीं करता है। यह पुराने को ओवरराइट करता है ... – Buju

+0

बस जांच - ऊपर आप ने कहा कि आप असेंबली ग्रिड बदल देंगे - यह सीएस गुण फ़ाइल में ग्रिड है - जो WMAppManifest.xml फ़ाइल में से एक के लिए अलग है। – Stuart

+0

आह श्री, ने उस छवि आईडी को मैनिफेस्ट फ़ाइल में नहीं देखा। – Buju

0

आप बिल्ड समाधान में संपूर्ण समाधान या केवल वर्तमान स्टार्टअप प्रोजेक्ट को तैनात करना चुन सकते हैं। यदि वे एक ही समाधान का हिस्सा नहीं हैं, तो नहीं, आप ऐसा नहीं कर सकते हैं। लेकिन आप कमांड लाइन स्क्रिप्ट लिख सकते हैं जो तैनाती उपकरण का उपयोग करता है, शायद?

+0

तो क्या आप कह रहे हैं कि मुझे 2 अलग बनाम समाधान की आवश्यकता है? – Buju

+0

नहीं, मैं कह रहा हूं कि आपको एक ही समाधान में दो परियोजनाओं की आवश्यकता है। –