2013-12-09 5 views
6

मैं सी #/नेट में कक्षा पुस्तकालय लिख रहा हूं।किसी अन्य प्रोजेक्ट में एक प्रोजेक्ट की स्रोत फ़ाइलों को कैसे शामिल किया जाए?

  • 4,0 (अपने आप डिबग के लिए उपयोग कर)
  • 3,5 (ग्राहक पर उपयोग करते हुए):

    मैं दो अलग-अलग व्यवस्थाएं के लिए यह संकलन करने की जरूरत है।

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

अब, अगर मैं "मौजूदा आइटम जोड़ें" का भी उपयोग करता हूं, तो वीएस 2010 प्रतियां बनाता है; और मुझे हर बार नवीनतम संस्करणों की प्रतिलिपि बनाने की आवश्यकता है।

मैं प्रोजेक्ट में केवल एक लक्ष्य नहीं बदल सकता, क्योंकि मैं .dll संदर्भों के विभिन्न संस्करणों का उपयोग कर रहा हूं, और क्योंकि एमएस बनाम कुछ quirks है।

उत्तर

6

एक विकल्प का उपयोग करने के लिंक के रूप में जोड़ें विकल्प दूसरों को पहले से ही ने उल्लेख किया है, लेकिन आप उस से भी अधिक विकल्प हैं:

  1. Portable Class Libraries की अनुमति परियोजना की एक विशेष प्रकार का कर रहे हैं आप निर्दिष्ट करने के लिए .NET के कौन से संस्करणों को लक्षित करना चाहते हैं। संकलक तब आपके लिए संबंधित असेंबली आउटपुट करता है। इस तकनीक का लाभ यह है कि आपके पास स्रोत का एक संस्करण है जो दोनों ढांचे के लिए संकलित करता है। नुकसान यह है कि आप उन सुविधाओं का उपयोग नहीं कर सकते हैं जो सबसे कम आम denominator .NET ढांचे का समर्थन नहीं करता है।
  2. स्रोत नियंत्रण शाखा & विलय करने से आप वास्तव में 2 समान लेकिन विभिन्न स्रोत फ़ाइलों को बनाए रखने की अनुमति देते हैं। आपके पास एक संस्करण है जो मास्टर संस्करण है, उसके बाद इसमें परिवर्तन लागू करने के बाद, आप इसे अपनी परियोजनाओं में विलय करते हैं जो वास्तविक आउटपुट उत्पन्न करते हैं। इस तकनीक का लाभ यह है कि आपके पास दो पूरी तरह से अलग फाइलें हो सकती हैं, इसलिए आपके पास बहुत सारी स्वतंत्रता है। नुकसान यह है कि आपके पास दो पूरी तरह से अलग फाइलें हैं, जिन्हें प्रबंधित करना मुश्किल हो सकता है।
  3. बेहतर एमएसबिल्ड ट्रिकरी करें। <choose>/<when> निर्माण का उपयोग करके आप सशर्त रूप से किसी शर्त के आधार पर एक विशिष्ट असेंबली संस्करण के संदर्भ शामिल कर सकते हैं। लक्ष्य ढांचे संस्करण और अन्य फैंसी सेटिंग्स को एमएसबिल्ड के माध्यम से भी प्रबंधित किया जा सकता है, लेकिन आप हमेशा यूआई के माध्यम से इन्हें संपादित नहीं कर सकते हैं।आप #if MY_CONSTANT के साथ संयोजन में
  4. के सशर्त रूप से संकलित भागों को बनाने के लिए इसका उपयोग कर सकते हैं आप एक .NET असेंबली बना सकते हैं जिसे आप दोनों परियोजनाओं से संदर्भित करते हैं। आपने अपने मामले में .NET संस्करण को निम्नतम संस्करण, 3.5 पर सेट किया है। विजुअल स्टूडियो 2010 और बाद में बहु-लक्ष्यीकरण समर्थन है और आप एक समाधान में .NET फ्रेमवर्क संस्करणों को मिलाकर मैच कर सकते हैं।

यदि आप अपनी प्रोजेक्ट फ़ाइलों को साझा करते हैं (भाग), तो आप किस प्रकार के क्यूर्क चला रहे हैं, हम आपके लिए उनको हल करने में सक्षम हो सकते हैं।

5

आप Add as Link सुविधा का उपयोग कर सकते हैं।

यह इस प्रकार है:

  • राइट-क्लिक करें जहाँ आप की जरूरत है अपने (मौजूदा) होने के लिए दायर
  • "जोड़ें" -
  • अपनी फ़ाइल का चयन करें> "मौजूदा आइटम" तो तीर क्लिक करें "जोड़ें" बटन और चुनें "लिंक के रूप में जोड़ें" (देखें नीचे स्क्रीनशॉट)
  • फ़ाइल का लिंक एक प्रति के बजाय परियोजना में जोड़ दिया जाएगा

Screenshot

3

प्रोजेक्ट में फ़ाइल जोड़ते समय "लिंक के रूप में जोड़ें" चुनें, न केवल जोड़ें।

Add as link

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

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