5

मुझे आश्चर्य है कि अलग-अलग इंस्टॉलर बनाना संभव है जिसमें बिल्डिंग कॉन्फ़िगरेशन (डीबग/रिलीज़) के आधार पर पूरी तरह से एक परिनियोजन परियोजनाओं के लिए अलग-अलग फ़ाइलें शामिल हैं?विजुअल स्टूडियो परिनियोजन प्रोजेक्ट: बिल्ड कॉन्फ़िगरेशन के आधार पर सशर्त फ़ाइलें

मुझे क्या करना इस वजह हैं:

  1. डिबग चरण के दौरान, हमारे पास कुछ अतिरिक्त डिबग फ़ाइलें स्थापित करना चाहते हैं (* .pdb) परीक्षण मशीन पर binaries के साथ इतना है कि कुछ भी गलत हो जाता है, तो , हम जान सकते हैं कि
  2. रिलीज चरण के दौरान, हम नहीं चाहते हैं कि उपयोगकर्ता इन डीबग फ़ाइलों को प्राप्त करें। और हम इसे स्थापित करने के लिए * pdb उपयोगकर्ताओं के लिए एक विकल्प बनाने के लिए नहीं करना चाहते हैं - उनमें से ज्यादातर नहीं जानते कि इन फ़ाइलों के लिए कर रहे हैं और उनके लिए एक विकल्प केवल भ्रम

कारण होगा कठिनाइयों का सामना करना पड़ रहा हूँ मैं वर्तमान में :

  1. मैंने तैनाती परियोजना फ़ाइल (* .vdproj) खोलने की कोशिश की और यह सीएसएचआरपी जैसी अन्य प्रकार की परियोजनाओं से बहुत अलग है। परिनियोजन प्रोजेक्ट फ़ाइलें एक्सएमएल नहीं हैं, और मुझे ऐसा कुछ नहीं लगता है:।
  2. मैंने माइक्रोसॉफ्ट की साइट की जांच की है: http://msdn.microsoft.com/en-us/library/cz6k1z02%28v=vs.80%29.aspx बिल्ड कॉन्फ़िगरेशन से संबंधित कोई तैनाती की स्थिति नहीं है।
  3. चूंकि मैं कॉन्फ़िगरेशन बनाने के अनुसार शर्त निर्धारित करना चाहता हूं, मुझे लगता है कि प्रोजेक्ट फ़ाइल कम से कम वर्तमान में चयनित कॉन्फ़िगरेशन को बताने में सक्षम होना चाहिए। हालांकि, तैनाती के लिए कॉन्फ़िगरेशन प्रबंधक बहुत आसान है - मैं केवल आउटपुट, पैकेजिंग, संपीड़न और स्थापना यूआरएल बदल सकता हूं। मैं किसी भी अतिरिक्त मैक्रोज़ को परिभाषित नहीं कर सकता जैसे कि मैं अन्य प्रकार की परियोजनाओं (उदा। सीएसएचआरपी)
+0

आप जानने ऐसा करने के तरीके खत्म किया? – JohnnyFun

+0

नहीं, मुझे ऐसा नहीं लगता ... मुझे नहीं लगता कि उस समय विजुअल स्टूडियो का उपयोग करना संभव था। अगर मुझे सही याद है, तो आप जो निकटतम चीज प्राप्त कर सकते हैं वह एक नया वातावरण (अर्थात् 'इंस्टॉलपीडीबी' या कुछ) जोड़ना है। फिर कुछ भी संकलित करने के बजाय आप मनमानी डॉस कमांड भी चला सकते हैं। नए विजुअल स्टूडियो के बारे में निश्चित नहीं है क्योंकि मैं अब विंडोज़ में प्रोग्रामिंग नहीं कर रहा हूं। –

+0

अच्छा लगता है। मैंने एक नोड स्क्रिप्ट लिखना समाप्त कर दिया जो मेरे प्रोजेक्ट के लिए पोस्ट बिल्ड इवेंट के रूप में चलता है और कॉन्फ़िगरेशन पास करता है, और वह सशर्त रूप से फ़ाइलों को कॉपी करता है जहां इंस्टॉलर उन्हें प्राप्त करता है। बहुत अच्छा काम करता है। हालांकि अद्यतन के लिए धन्यवाद! – JohnnyFun

उत्तर

0

बस अपने दो सेंट जोड़ने के लिए, मुझे अपने डब्ल्यूपीएफ प्रोजेक्ट में भी इसी तरह की आवश्यकता थी। मेरे पास अलग-अलग बिल्ड कॉन्फ़िगरेशन (डीबग, क्यूए और रिलीज) के लिए अलग-अलग .config फ़ाइलें हैं जो आउटपुट फ़ोल्डर/बिन/

में सही ढंग से जेनरेट की गई हैं, मैंने देखा कि प्राथमिक आउटपुट के लिए आउटपुट फ़ाइलें सही कॉन्फ़िगरेशन से मेरी .exe फ़ाइल सूचीबद्ध करती हैं फ़ोल्डर (यानी/बिन/रिलीज) हालांकि .config फ़ाइल प्रोजेक्ट की रूट निर्देशिका (App.config) से आता है और उसके बाद मेरा प्रोजेक्ट का नाम बदल दिया जाता है।

तो, यह आस-पास काम करने के लिए, मैं:

  1. ConfigDeploy नाम का एक फ़ोल्डर के लिए अपने जनरेटर .config फ़ाइल कॉपी करने के लिए एक के बाद निर्माण घटना बनाया गया।

    कॉपी/वाई $ (TARGETDIR) $ (TargetFileName) .config $ (SolutionDir) ConfigDeploy \ $ (TargetFileName) .config

  2. द्वारा प्राथमिक उत्पादन से मेरी .Config फ़ाइलों पर ध्यान नहीं दिया राइट-क्लिक करके मेरी प्राथमिक उत्पादन आइटम , गुण पर जाकर "ExcludeFilter" में एक "* .config" फिल्टर की स्थापना

enter image description here

  1. "कार्यक्रम में अपने .config फ़ाइल के लिए एक फ़ाइल प्रविष्टि बनाया गया फ़ाइलें फ़ोल्डर/MyApplica टियन "जो कि कॉन्फ़िगरडिल्ड फ़ोल्डर

.pdb फ़ाइलों के लिए फ़ाइल के लिए इंगित करता है, यह अधिक सरल है।तुम सिर्फ एक परियोजना उत्पादन जोड़ सकते हैं और डीबग प्रतीक चयन करने की आवश्यकता है और फिर विन्यास को इंगित आप की जरूरत

enter image description here