जैसा कि अन्य ने कहा है, आप समाधान समाधान में अपने समाधान पर राइट-क्लिक कर सकते हैं, जोड़ें> मौजूदा प्रोजेक्ट का चयन कर सकते हैं और सामान्य परियोजनाओं को ब्राउज़ कर सकते हैं .csproj फ़ाइल और इसे इसके मूल स्थान से समाधान में शामिल किया जाएगा।
इस के साथ दो समस्याएं हैं लेकिन जो हो सकता है या एक मुद्दा नहीं हो सकता है, अपनी टीम के आकार के आधार:
1 - आम परियोजना समाधान फाइल करने के लिए एक रिश्तेदार पथ के साथ प्रत्येक समाधान में शामिल होगा (आईई: ... \ CommonProject \ Common.csproj)। इसका मतलब है कि सभी डेवलपर्स के पास एक ही काम करने वाली फ़ाइल संरचना होनी चाहिए या जब वे मुख्य प्रोजेक्ट खोलने का प्रयास करेंगे तो उन्हें त्रुटियां मिलेंगी।
2 - परिदृश्य में आम परियोजना को कई परियोजनाओं (दो - ए और बी कहते हैं) द्वारा संदर्भित किया जाता है और प्रोजेक्ट ए पर काम करने वाले डेवलपर को अपने कार्य के हिस्से के रूप में आम परियोजना में बदलाव करना पड़ता है। उस डेवलपर को यह जानने का कोई तरीका नहीं है कि उनके द्वारा किए गए परिवर्तनों से परियोजना बी को तोड़ दिया जाएगा, वास्तव में परियोजना बी को जांचकर और इसे संकलित नहीं किया जाएगा। चूंकि अधिक से अधिक परियोजनाएं आम परियोजना का संदर्भ देती हैं, इस घटना का जोखिम उस बिंदु तक बढ़ जाता है जहां यह अप्रबंधनीय हो जाता है।
फिर से, के रूप में अन्य के कहा है, वहाँ कोई 'सही' तरीका यह है है, लेकिन दृष्टिकोण मैं ले लिया है इस प्रकार है:
1 - उपयोग इस तरह के क्रूज नियंत्रण के रूप में निरंतर एकीकरण के निर्माण का प्रबंधन करने के परियोजनाओं और सर्वर पर एक स्टैंड अकेले परियोजना के रूप में आम परियोजना डाल दिया।
2 - सामान्य स्रोत डीएलएल के निर्माण के लिए अपने स्रोत नियंत्रण के तहत एक निर्देशिका बनाएं। इस निर्देशिका को अपनी बिल्ड मशीन पर चेक आउट करें और जब भी सामान्य प्रोजेक्ट बनाता है, तो यह आउटपुट डीएलएल को डीएलएल फ़ोल्डर में कॉपी करता है और इन परिवर्तनों को स्रोत नियंत्रण में करता है।
3 - सभी डीएलएल फ़ोल्डर के स्थान को नियंत्रित करने के लिए सभी डेवलपर्स मशीनों और बिल्ड सर्वर पर पर्यावरण चर का उपयोग करें और हार्ड-कोड किए गए पथ की बजाय उस चर का उपयोग करके डीएलएल का संदर्भ लें। (आईई: सी: \ Source \ MyCommonProjectDLLS \ Common.dll के बजाय $ (MyCommonLocation) \ Common.dll का उपयोग करें 'MyCommonLocation' को C: \ Source \ MyCommonProjectDLLS पर सेट किया गया है:
4 - किसी भी प्रोजेक्ट के संदर्भ में संदर्भ सामान्य डीएलएल, उस परियोजना के लिए सामान्य डीएलएल फ़ोल्डर देखने के लिए बिल्ड सर्वर पर एक सीआई ट्रिगर स्थापित करता है। जब भी इसमें बदलाव किए जाते हैं, तो बिल्ड सर्वर को सभी उपभोग करने वाली परियोजनाओं का निर्माण करना चाहिए।
यह आपको तुरंत बताता है कि क्या आप किसी अन्य परियोजना के लिए ब्रेकिंग बदलाव कर रहे हैं। एकमात्र कमी यह है कि, इस मॉडल में, उपभोग करने वाली परियोजनाएं आम डीएलएल को जितनी जल्दी हो सके अपडेट करने के लिए मजबूर होती हैं। स्रोत डीएलएल को सामान्य नियंत्रण डीएलएल को स्रोत नियंत्रण संशोधन से बनाने के लिए एक विकल्प है, और प्रत्येक संस्करण को अपनी डीएलएल फ़ोल्डर के तहत अपनी उप निर्देशिका में रखें।
आम DLLs
-1.0.0.1234
-1.0.0.1235
-1.0.0.1236
और इसी तरह: तो आप के साथ समाप्त होगा। इसका लाभ यह है कि प्रत्येक प्रोजेक्ट तब चुन सकता है जब कोड के नए संस्करण को संदर्भित करके सामान्य डीएलएल को अपडेट कब लेना है। हालांकि यह दोनों तरीकों से कटौती करता है क्योंकि इसका मतलब यह हो सकता है कि कुछ परियोजनाओं को सामान्य कोड के पुराने संस्करणों के साथ छोड़ दिया जाना चाहिए, जो उन बदलावों में अंतिम रूप से आने के समय शामिल हो सकते हैं।
उम्मीद है कि इससे मदद मिलती है।
आपका मतलब विजुअल स्टूडियो में "लिंक के रूप में फ़ाइल जोड़ें" विकल्प जैसा कुछ है? http://support.microsoft.com/kb/306234 (संपादित करें: यह माना जा रहा है कि आप बस एक साझा प्रोजेक्ट का उपयोग नहीं करना चाहते हैं?) –
बस अपने समाधान में विभिन्न परियोजनाओं को शामिल करें और एक संदर्भ जोड़ें प्रोजेक्ट, संकलित नहीं .dll। हमारे स्रोत कोड भंडार में एक फ़ोल्डर है जिसमें साझा कोड (मुख्य रूप से कक्षा पुस्तकालय परियोजनाएं) शामिल हैं और हम उन परियोजनाओं को पेड़ के पूरी तरह से अलग-अलग क्षेत्रों में समाधान से संदर्भित करते हैं। मुश्किल बात यह है कि आपकी टीम के लिए इस अंतर्दृष्टि को बनाने के लिए स्रोत नियंत्रण में कोड को व्यवस्थित करने का तरीका पता लगाना है। (और ऐसा करने का कोई "सही" तरीका नहीं है। आप इसे कैसे सेट अप करते हैं, इस पर निर्भर करता है कि कई कारकों पर निर्भर करता है, इसे सही तरीके से योजना बनाने में कुछ समय लग सकता है।) – David
http://msdn.microsoft.com/en-us /library/1xhzskbe.aspx –