में समाधानों के बीच सामान्य पुस्तकालयों को साझा करने का सर्वोत्तम अभ्यास हमारे पास एमएसवीएस समाधान (समाधान "ए", "बी", "सी", ...) का पूल है जो "Common.dll" नामक असेंबली में मूल कार्यक्षमता साझा करता है। ।.NET
3-5 सक्रिय समाधान (जो विकासशील हैं) जबकि अन्य निष्क्रिय हैं और शायद ही कभी पुनर्निर्मित किए जाते हैं।
Common.dll हमेशा विकासशील है। मेरे समाधान कोड को बनाए रखने के कई विकल्प हैं, आप क्या सुझाव देंगे और क्यों?
ए)। प्रत्येक समाधान पर common.dll स्रोत कोड डालें। पेशेवर: यह निष्क्रिय समाधानों के साथ बढ़ने के लिए सक्रिय समाधानों की सहायता करेगा जबकि निष्क्रिय समाधान संकलित होंगे। विपक्ष: सक्रिय समाधानों के बीच सक्रिय common.dll कोड को सिंक्रनाइज़ करना मुश्किल है
बी)। प्रत्येक समाधान पर common.dll बाइनरी कोड डालें। पेशेवर: सभी परियोजनाएं संकलित होंगी जबकि common.dll कोड केंद्रीकृत किया जाएगा। विपक्ष: सामान्य डीएल
सी) के साथ सक्रिय समाधानों को साइड-बाय-साइड बढ़ाना मुश्किल है। संदर्भ हर परियोजना पिछले common.dll बाइनरी बी की तरह दिखता है, लेकिन यह निष्क्रिय समाधान के साथ समस्याओं लाता हूँ अगर common.dll बढ़ने और बदल यह इंटरफेस (कुछ कह सकते हैं इंटरफेस हमेशा स्थिर रहना चाहिए) है जाएगा
डी) । ?
अग्रिम धन्यवाद!
क्या आपके समाधानों को आपके common.dll के विभिन्न संस्करणों को संदर्भित करने की आवश्यकता है? – Nick
कौन जानता है। Common.dll के सभी संस्करणों को अद्यतित रखने के लिए, सामान्य डीएलएल के सटीक संस्करण के साथ निष्क्रिय समाधान को स्थिर करना आसान होगा। –
मैं इस के लिए अपनी खुद की कंपनी-साइड न्यूज फ़ीड http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds सेट अप करना चाहता हूं - यह इसे काफी आसान बनाता है उपग्रह परियोजना संदर्भ आवश्यकताओं का प्रबंधन करें (पैकेज में आप अधिकतम संस्करण के साथ-साथ न्यूनतम संस्करण को एन्कोड कर सकते हैं)। हमने अभी यह किया है और यह चट्टानों। –