2010-01-03 2 views
19

में प्रोजेक्ट चौड़ा # परिभाषित करने के लिए कैसे करें मेरे पास एक परियोजना में कई कक्षाएं हैं जिन्हें केवल उस एप्लिकेशन के कुछ निर्माण में होना चाहिए जो वर्तमान में रिलीज़ या डीबग के लिए तैयार नहीं है।सी #

उपयोग किए जाने से इन कक्षाओं में रोकने के लिए, मैं उन्हें इस के आसपास सेट करना चाहते हैं:

#if USE_MYCLASS 
// Code here... 
#endif 

दुर्भाग्य से, मैं नहीं जानता कि कैसे करने के लिए सेटअप एक परियोजना विस्तृत #define।

क्या परियोजना स्टूडियो परिभाषाओं को सेट करने के लिए विजुअल स्टूडियो में कोई कार्यक्षमता है।

यदि ऐसा है, हालांकि मुझे अभी इसकी आवश्यकता नहीं है, क्या समाधान व्यापक परिभाषाओं को सेट करने की कार्यक्षमता है?

यदि ऐसी कोई कार्यक्षमता नहीं है (क्योंकि सी # में फाइलें शामिल नहीं हैं, मुझे लगता है कि यह संभव है), क्या कमांड लाइन कंपाइलर और डी के उपयोग किए बिना इस कार्यक्षमता को करने का कोई तरीका या प्लगइन है?

उत्तर

31

आप प्रोजेक्ट गुणों में ऐसा कर सकते हैं, लेकिन स्रोत कोड में नहीं।

प्रोजेक्ट गुण => बिल्ड => सशर्त संकलन प्रतीकों

आप निर्दिष्ट कर सकते जो भी प्रतीकों आप की जरूरत (सीमांकित अंतरिक्ष, लेकिन IIRC है काफी क्षमाशील है)। ध्यान दें कि DEBUG और TRACE को चेकबॉक्स के साथ भी टॉगल किया जा सकता है।

मैं कई के साथ कुछ परियोजनाएं हैं "रिहाई" (2.0 बनाम 3.0 बनाम 3.5 संस्करण के निर्माण के लिए - <DefineConstants>here देखें) विन्यास का निर्माण, प्रत्येक में विभिन्न प्रतीकों के साथ मेरे चेहरे के सामने

+1

ठीक है! मैं कभी नहीं जानता था कि यह क्या था, या इसका उपयोग कैसे करें, धन्यवाद! –

+0

धन्यवाद! यह मेरे चेहरे के सामने भी सही था! – Xonatron

+0

"आप प्रोजेक्ट गुणों में ऐसा कर सकते हैं, लेकिन स्रोत कोड में नहीं।" वास्तव में यह काफी अप्रिय सीमा है। सुविधा और दृश्यता के लिए कोड में ऐसा करने में सक्षम होना महत्वपूर्ण है। –