हमारी .NET टीम हमारी कंपनी के लिए परियोजनाओं पर काम करती है जो अलग-अलग श्रेणियों में आती है। कुछ आंतरिक वेब ऐप्स हैं, कुछ बाहरी (सार्वजनिक रूप से सामना कर रहे हैं) वेब ऐप्स हैं, हमारे पास हमारे कॉर्पोरेट कार्यालय उपयोगकर्ताओं के लिए आंतरिक विंडोज एप्लिकेशन और हमारे खुदरा स्थानों (स्टोर) के लिए विंडोज फॉर्म ऐप्स भी हैं। बेशक, क्योंकि हम कोड पुन: उपयोग से नफरत करते हैं, हमारे पास कोड का एक टन है जो विभिन्न अनुप्रयोगों के बीच साझा किया जाता है। वर्तमान में हम हमारे स्रोत नियंत्रण के रूप में SVN का उपयोग कर रहे हैं, और हम हमारे भंडार इस तरह से बाहर रखा है:कई समाधानों में टीएफएस और साझा परियोजनाएं
- = folder, | = Visual Studio Solution
-SVN
- Internet
| Ourcompany.com
| Oursecondcompany.com
- Intranet
| UniformOrdering website
| MessageCenter website
- Shared
| ErrorLoggingModule
| RegularExpressionGenerator
| Anti-Xss
| OrgChartModule etc...
तो ..
इंटरनेट फ़ोल्डर में OurCompany.com समाधान के लिए एक वेबसाइट के लिए होता है प्रोजेक्ट, और इसमें साझा निर्देशिका से ErrorLoggingModule, RegularExpressionGenerator, और एंटी-एक्सएसएस प्रोजेक्ट भी शामिल होंगे।
इसी तरह, हमारे वर्दी ऑर्डरिंग वेबसाइट समाधान में इन परियोजनाओं में से प्रत्येक समाधान भी शामिल होगा।
हम एक .dll संदर्भ के लिए एक परियोजना संदर्भ करना पसंद करते हैं क्योंकि, सबसे पहले, अगर हमें OurCompany.com वेबसाइट पर काम करते समय ErrorLoggingModule में कोई फ़ंक्शन जोड़ने या ठीक करने की आवश्यकता है, तो यह ठीक है। इसके अलावा, यह हमें प्रत्येक समाधान का निर्माण करने और देखने के लिए अनुमति देता है कि साझा कोड में परिवर्तन किसी अन्य एप्लिकेशन को तोड़ते हैं या नहीं। यह एक बिल्ड सर्वर पर अच्छी तरह से काम करना चाहिए, साथ ही अगर मैं सही हूं।
एसवीएन में, इसमें कोई समस्या नहीं है। टीएफएस के स्रोत नियंत्रण के तरीके में एसवीएन और विजुअल स्टूडियो एक साथ बंधे नहीं हैं। हमने कभी यह पता नहीं लगाया कि टीएफएस में इस प्रकार की संरचना को कैसे काम किया जाए जब हम इसका इस्तेमाल कर रहे थे, क्योंकि टीएफएस में, टीएफएस प्रोजेक्ट हमेशा विजुअल स्टूडियो सॉल्यूशन से जुड़ा हुआ था। स्रोत कोड भंडार टीएफएस परियोजना का एक बच्चा था, इसलिए यदि हम ऐसा करना चाहते थे, तो हमें प्रत्येक टीएफएस प्रोजेक्ट के स्रोत कोड भंडार में साझा कोड को डुप्लिकेट करना पड़ा। चूंकि मेरे सहकर्मी ने इसे रखा है, यह "कोड पुन: उपयोग और सादगी के बारे में हर ज्ञात सर्वोत्तम अभ्यास को तोड़ता है"। यह हमारे लिए एक सौदा ब्रेकर था कि हमने एसवीएन में स्विच किया।
अब, हालांकि, हमें वास्तव में हमारी विकास प्रक्रियाओं को ठीक करने का सामना करना पड़ रहा है, और टीएफएस का एप्लीकेशन लाइफसाइक्ल मैनेजमेंट बिल्कुल वही है जो हम चाहते हैं, और हम कैसे काम करना चाहते हैं। हमारा एक चिपकने वाला बिंदु साझा कोड मुद्दा है।
हम अन्य वाणिज्यिक और ओपन सोर्स समाधान का मूल्यांकन कर रहे हैं, लेकिन चूंकि हम पहले से ही हमारे एमएसडीएन सदस्यता के साथ टीएफएस के लिए भुगतान कर रहे हैं, और टीएफएस काफी वही है जो हम चाहते हैं, हम वास्तव में इस के आसपास एक रास्ता खोजना चाहते हैं मुद्दा।
क्या किसी और का सामना करना पड़ा है और समाधान के साथ आया है?
यदि आपने कोई लेख देखा है या इस पर पोस्ट किया है कि आप मेरे साथ साझा कर सकते हैं, तो इससे भी मदद मिलेगी।
हमेशा की तरह, मैं की तरह "आप इसे देख रहे हैं जवाब के लिए खुला रहा हूँ सब गलत, कपाल, यहाँ जिस तरह से यह किया जाना चाहिए।
इसे पढ़ने और उत्तर देने के लिए समय निकालने के लिए धन्यवाद। जब मूल रूप से समस्या थी, हम 2005 संस्करण का उपयोग कर रहे थे। क्या आप किसी भी मौके से, 2005/2008 से भिन्न कैसे VS2010 भिन्न है, इस पर दस्तावेज़ीकरण के लिए मुझे इंगित कर सकते हैं? यदि हम वापस टीएफएस पर स्विच करते हैं तो हम 2010 का उपयोग करेंगे। मैं एक आभासी वातावरण स्थापित करने जा रहा हूं और आपके द्वारा उल्लिखित दो दृष्टिकोणों को आजमाएं। यह अच्छा लग रहा है, इसलिए +1, और यदि हम इसका उपयोग करते हैं (या यदि मुझे कोई बेहतर उत्तर नहीं मिलता है) तो मैं आपका जवाब भी स्वीकार करूंगा। – David
2010 टीम परियोजनाओं के लिए एक अलग दृष्टिकोण लिया। उनके पास "प्रोजेक्ट कलेक्शन" नामक एक नई चीज है जो आप वही चाहते हैं जो आप चाहते हैं। जानकारी यहां है: http://msdn.microsoft.com/en-us/library/dd236915.aspx – NotMe
फिर, धन्यवाद। खेद है कि यह इतना लंबा लगा, लेकिन मुझे अपना पर्यावरण स्थापित करने में थोड़ी देर लग गई। मैं आपके उत्तर को इस अंतिम नोट के आधार पर स्वीकार कर रहा हूं क्योंकि यह वही है जो मैं चाहता था, लेकिन आपका मूल उत्तर भी अच्छा था। मैं आपको समय लेने की सराहना करता हूं। – David