6

का उपयोग कर विजुअल स्टूडियो में किसी प्रोजेक्ट के कई संस्करण बनाएं, मुझे कॉन्फ़िगरेशन का उपयोग करके मेरे प्रोजेक्ट के कई संस्करण बनाने की आवश्यकता है जैसे कि हम #define, #if, #endif के साथ करते हैं।बिल्ड कॉन्फ़िगरेशन

इन पूर्वप्रक्रमक निर्देशों का उपयोग कर के नीचे की ओर है कि मैं इस परियोजना के लगभग हर फ़ाइल में प्रतीकों परिभाषित करने की जरूरत है, लेकिन मैं अपने निर्माण विन्यास से इस बात को संभालने के लिए चाहते हैं।

मुझे यह भी सुनिश्चित नहीं है कि बिल्ड कॉन्फ़िगरेशन मुझे ऐसा करने में मदद करेगा।

क्या मैं चाहता हूँ कि अगर मैं नाम "विकास" और नाम "क्यूए" के साथ दूसरे के साथ एक विन्यास बनाने के है, मेरे कोड लगेगा जैसे:

if #Development or if $QA 

कृपया मुझे इस प्राप्त करने की दिशा में मार्गदर्शन।

उत्तर

9

कॉन्फ़िगरेशन प्रबंधक इस कारण से मौजूद है।

  • कॉन्फ़िगरेशन मैनेजर पर जाएं और पूर्वनिर्धारित डीबग विन्यास से
  • नाम विन्यास विकास एक नया विन्यास नकल बना सकते हैं और
  • के रूप में सक्रिय विन्यास विकास विन्यास का चयन करें (पहले से ही होना चाहिए सभी परियोजनाओं पर लागू होते हैं सक्रिय एक)
  • #if DEVELOPMENT सशर्त संकलन की आवश्यकता होती है प्रत्येक परियोजना के गुणों पर पृष्ठ पर जाएं और निर्माण टैब का पहला पाठ बॉक्स में विकास प्रतीक सम्मिलित
  • 012,

अब आप अपने परियोजनाओं में से प्रत्येक #if विकास पूर्वप्रक्रमक निर्देश

उपयोग कर सकते हैं तो आप इस भी जारी करने के लिए उपरोक्त चरण दोहराएं लेकिन पूर्वनिर्धारित विज्ञप्ति विन्यास से कॉपी और कोई भिन्न NAME

अब स्विचिंग देने की जरूरत है परिभाषित डेवलपमेंट प्रतीक के साथ या उसके बिना कॉन्फ़िगरेशन से सीधे प्रत्येक प्रोजेक्ट को संपादित किए बिना विजुअल स्टूडियो के मानक टूलबार में मौजूद समाधान कॉन्फ़िगरेशन कॉम्बो टूल से किया जा सकता है।

तुम भी MSDN लेख How to: Create and Edit Configurations

+0

धन्यवाद स्टीव, मुझे पूर्वनिर्धारित विन्यास – MegaMind

+0

से मेरी कॉन्फ़िगरेशन की प्रतिलिपि बनाने की आवश्यकता क्यों है क्योंकि DEBUG कॉन्फ़िगरेशन में DEBUG सत्र के दौरान आवश्यक सेटिंग्स शामिल हैं , इसलिए रिलीज कॉन्फ़िगरेशन के लिए (उदाहरण के लिए DEBUG और TRACE प्रतीकों)। यदि आप खरोंच से शुरू करते हैं तो आप लापता प्रतीकों – Steve

+0

द्वारा प्रदान की गई कार्यक्षमता खोने का जोखिम लेते हैं, मुझे तीसरे चरण के बारे में निश्चित नहीं है, कृपया इसे और अधिक स्पष्ट करें। मैं प्रोजेक्ट गुणों में COMPILE टैब नहीं ढूंढ पा रहा हूं – MegaMind

0

देख सकते हैं माइकल Freidgeim's समाधान के अलावा आप केंद्रीय initalisation संचालन या अन्य कार्यों के लिए शून्य विशेषता conditional उपयोग कर सकते हैं:

[Conditional("DEVELOPMENT")] 
public static void InitDemo() 
{ 
     Models.LogFile.ErrorLog("This is a Development Version!"); 
     // init settings 
} 

यहाँ मिला: http://msdn.microsoft.com/de-de/library/4xssyw96%28v=vs.80%29.aspx

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