कैसे अपने भंडार स्थापित करने के लिए करने के लिए कोई भी जवाब नहीं है। यह आपकी विशिष्ट जरूरतों पर निर्भर करता है।
कुछ सवाल आप अपने आप को पूछना चाहिए में शामिल हैं:
- सभी परियोजनाओं रिलीज होने जा रही हैं और अलग से संस्करणीकृत?
- क्या परियोजनाएं वास्तव में एक-दूसरे से स्वतंत्र हैं?
- आपकी विकास टीम कैसे संरचित की जाती है? क्या व्यक्तिगत डेवलपर्स एक परियोजना से चिपके रहते हैं?
- क्या आपकी ढांचा परियोजना स्थिर है?
- क्या आपकी बिल्ड प्रक्रिया प्रत्येक परियोजना को अलग से बनाती है?
यह मानते हुए कि है ऊपर के सभी के लिए जवाब "हाँ", तो मैं इसे स्थापित करेगा ताकि तरह:
- अपने स्वयं के भंडार में ढांचे कोड को बनाए रखने के लिए जारी रखें, और एक पर प्रकाशित NuGet का उपयोग कर आंतरिक सर्वर (जैसा कि एसएसयूबी की टिप्पणी में सुझाया गया है)।
- प्रत्येक प्रोजेक्ट के लिए एक अलग भंडार बनाएं, प्रत्येक अपनी स्वयं की समाधान फ़ाइल के साथ।
आप "हाँ" सभी # 5 (और # 1 संभवतः), इसके बाद के संस्करण को छोड़कर के लिए कह सकते हैं, तो मैं एक और भंडार है कि अलग-अलग परियोजनाओं और एक वैश्विक समाधान फ़ाइल में से प्रत्येक के submodules के होते हैं जोड़ना होगा कि आपका निर्माण सर्वर उपयोग कर सकते हैं। यदि आप एक नई परियोजना जोड़ते हैं, तो आपको इस भंडार को भी अपडेट करना याद रखना होगा!
यदि आपको # 2 को "नहीं" कहना है, तो बस एक ही संग्रह बनाएं।
यदि आपको # 3 पर "नहीं" कहना है, तो आपको कोड को अलग करने और डेवलपर्स को रिपोज़ के बीच स्विच करने की आवश्यकता के बीच एक निर्णय कॉल करना होगा। आप submodules सहित एक अलग भंडार बना सकते हैं, लेकिन यदि आपके सभी डेवलपर्स उस रेपो का उपयोग करके उड़ते हैं, तो आप वास्तव में केवल छोटे लाभ के साथ नए रखरखाव को पेश कर रहे हैं।
यदि आपका ढांचा स्थिर नहीं है (# 4), तो आप इनमें से किसी भी मामले में एक सबमिशन के रूप में शामिल करना चाहेंगे। मैं अनुशंसा करता हूं कि एक बार यह स्थिर हो जाए, तो आप उस समय सबमिशन को हटाने और NuGet पर स्विच करने में लग रहे हैं।
स्रोत
2014-05-07 17:06:58
भविष्य में अधिक वर्णनात्मक शीर्षक का उपयोग करें। –
यदि "समाधान के तहत परियोजनाएं किसी भी तरह से जुड़ी नहीं हैं" वे एक ही समाधान में क्यों हैं? – DaniCE
क्योंकि वे एक ही वेब के लिए सभी वेबसाइसेस हैं और सभी एक ही ढांचे का उपयोग करते हैं। :) – Gaui