5

के प्रबंधन के तरीके मैंने हाल के वर्षों में एक उचित मात्रा में सॉफ़्टवेयर लिखा है, जिनमें से अधिकांश एक या अधिक आम पुस्तकालयों को साझा करते हैं। (सबसे आम लाइब्रेरी, जिसे मैं SQL संग्रहीत प्रक्रियाओं को कॉल करने और ऑब्जेक्ट्स को लौटने के लिए उपयोग करता हूं)स्रोत कोड

मैं पुस्तकालयों का प्रबंधन करने के तरीके से खुश नहीं हूं, और मैं रास्ते में सुधार करने के लिए सुझावों की तलाश में हूं मैं काम करता हूँ।

पहली बार जब मैंने एक साझा लाइब्रेरी बनाई, तो मैंने पुस्तकालय को समाधान के भीतर एक अलग वर्ग पुस्तकालय परियोजना के रूप में जोड़ा।

अब, जब मैं एक नया समाधान शुरू करता हूं और मुझे पता है कि मुझे पहले से ही एक लाइब्रेरी की आवश्यकता होगी, मैं पुस्तकालय की परियोजना ढूंढूंगा और फ़ाइलों को नए समाधान में कॉपी करूंगा।

यह मुझे मेरे फाइल सिस्टम (और एसवीएन सर्वर) के चारों ओर एक ही लाइब्रेरी प्रोजेक्ट की कई प्रतियों के साथ छोड़ देता है, और यह सही नहीं लगता है।

क्या काम करने का एक बेहतर तरीका है, ताकि मेरे पास लाइब्रेरी प्रोजेक्ट की अपनी प्रतिलिपि रखने वाले प्रत्येक समाधान के बजाय सभी समाधानों को साझा किया जा सके?

उत्तर

5

बस एक बार पुस्तकालय का निर्माण करें, और अपनी परियोजना से संकलित बाइनरी का संदर्भ लें जिसे इसका उपयोग करने की आवश्यकता है।

दृश्य स्टूडियो में, प्रोजेक्ट पर राइट क्लिक करें और "संदर्भ जोड़ें" पर क्लिक करें, फिर "ब्राउज़ करें" टैब चुनें और अपनी लाइब्रेरी बाइनरी का पता लगाएं।

(आप स्पष्ट रूप से अपने आवेदन के साथ पुस्तकालय विधानसभा वितरित करने की आवश्यकता होगी)

+0

धन्यवाद। मुझे विश्वास नहीं है कि विजुअल स्टूडियो में काम करने के वर्षों के बाद, मैंने कुछ मौलिक याद किया है। – Bryan

+0

सुनिश्चित नहीं है कि यह सबसे अच्छा जवाब है। बाइनरी जोड़ने का मतलब है कि यदि साझा प्रोजेक्ट बदलता है तो आपको इसे फिर से कंपाइल करना होगा और उसके बाद उन सभी आश्रित समाधानों को फिर से संकलित करना होगा जो संदर्भित करते हैं जो निर्भरता मुद्दों का निर्माण कर सकते हैं।मैं इसे – zebrabox

+0

@zebrabox के बजाय एक परियोजना संदर्भ के रूप में जोड़ने का सुझाव दूंगा: मैं इसका पालन नहीं करता, क्या यह बिल्कुल ठीक नहीं है कि साइमन की पोस्ट क्या कहती है? – Bryan

1

मैं एक dll जो किसी अन्य परियोजना आप पर काम कर रहे करने के लिए एक संदर्भ के रूप में जोड़ा जा सकता है में अपने पुस्तकालय संकलन सुझाव है। फिर आपको हर जगह स्रोत फ़ाइलों की प्रतिलिपि बनाने की आवश्यकता नहीं है।

2

आपकी भावना बिल्कुल सही है। पुस्तकालय स्रोत का केवल एक मास्टर होना चाहिए।

हमारी दुकान में हमारे पास कई उत्पादों द्वारा उपयोग की जाने वाली कई साझा लाइब्रेरी परियोजनाएं हैं। हम इन पुस्तकालयों को खुद उत्पादों के रूप में देखते हैं और तदनुसार उनका इलाज करते हैं। विशेष रूप से, जब किसी प्रोजेक्ट को इन पुस्तकालयों में से किसी एक की आवश्यकता होती है तो हम प्रोजेक्ट में एक lib फ़ोल्डर में लाइब्रेरी का एक संकलित संस्करण डालते हैं। हम स्रोत को कॉपी करने की आवश्यकता को हटाते हैं, और हमारी परियोजना केवल डीएल की एक स्थिर प्रति को संदर्भित करती है।

यहाँ ProductY परियोजना में, भंडार में एक नमूना संरचना है

/LibraryX   <- product root 
    ../branches 
    ../tags 
    ../trunk   <- solution folder 
     ../LibraryX <- project folder 
     ../lib  <- thirdparty libraries used by LibraryX 

/ProductY   <- product root 
    ../branches 
    ../tags 
    ../trunk   <- solution folder 
     ../ProductY <- project folder 
     ../lib  <- thirdparty libraries 
         used by ProductY, e.g. a copy of LibraryX.dll 

तो, बल्कि LibraryY परियोजना की एक प्रतिलिपि सहित से आप LibraryX.dll के लिए एक संदर्भ में स्थित जोड़ने lib फ़ोल्डर।

+0

यह वही संरचना है जिसका मैं लक्ष्य रख रहा हूं। बहुत धन्यवाद। – Bryan

1

तुम सिर्फ अपने पुस्तकालय के साथ एक dll का निर्माण करना चाहिए और फिर बस यह करने के लिए संदर्भ ..

संदर्भ> बनाम में संदर्भ जोड़ें