7

सवाल अंत में है मुझे संदर्भ प्रस्तुत करके प्रारंभ करते हैं:स्रोत नियंत्रण में विंडोज एसडीके संग्रहीत करना? -

समस्या हम काम पर सामना कर रहे हैं जब दृश्य स्टूडियो उपयोग करने का एक सुनिश्चित करें कि टीम पर हर कोई एक ही संस्करण का उपयोग कर रहा है बनाने के लिए है एसडीके का।

एक ठेठ समस्या किसी आदेश कुछ नए एपीआई का उपयोग करने और होने में एक अलग डायरेक्ट एक्स एसडीके संस्करण कोड, या किसी की एक अलग व्यवहार में परिणित अधिक नया प्लेटफार्म/विंडोज एसडीके के उन्नयन का उपयोग करने के लिए किया जाएगा यदि कोड अभी भी पिछले संस्करण का उपयोग करते हैं तो कोड अन्य प्रोग्रामर मशीनों पर असफल हो जाता है।

एक तरीका जिस तरह से हम अन्य मिडलवेयर के लिए इस मुद्दे को हल करने के लिए उपयोग करते थे, हमारे स्रोत नियंत्रण प्रणाली में पुस्तकालयों का पूरा सेट, फाइलें, टूल चेन इत्यादि शामिल करना है, और हमारी परियोजनाओं का उपयोग करने के लिए कोई भी नहीं है कुछ भी स्थापित करना है। हम डायरेक्ट एक्स एसडीके के पहले संस्करण के साथ ऐसा करने में भी कामयाब रहे, लेकिन एसडीके और टूलचेन के बीच घनिष्ठ संबंधों के कारण हम हमेशा विंडोज/प्लेटफार्म एसडीके के साथ मुद्दों में भाग गए।

अब हम दोनों VS2010 और VS2012 समर्थन है, और 8 लक्ष्यों विंडोज के लिए Windows XP से समर्थन करने के लिए करना होगा बाद से, हम V100, V110 और v110_xp उपकरण सेट का समर्थन करने के लिए है।

इसका मतलब है कि हमें सभी डेवलपर मशीनों और बिल्ड सिस्टम पर सभी संबंधित कंपाइलर्स और संबंधित एसडीके की आवश्यकता है: यह याद रखने के लिए हास्यास्पद रूप से महंगा हो रहा है, विशेष रूप से यादृच्छिक विंडोज अपडेट और .NET फ्रेमवर्क रिलीज नियमित रूप से तोड़ने लगते हैं MSBuild।

तो सवाल यह है:

  • क्या यह संभव है गैर स्थापित उपकरण सेट और एसडीके उपयोग करने के लिए दृश्य स्टूडियो के लिए और बदले में इसका इस्तेमाल करते हैं जो कुछ भी उपलब्ध है कुछ फ़ोल्डर में सामान्य से बाहर स्थापना स्थानों वी.एस. आ रही हैं?

  • बोनस प्रश्न: यदि यह करने योग्य है, तो मशीन पर किसी भी स्थानीय रूप से स्थापित कॉन्फ़िगरेशन फ़ाइल को बदलने के बिना ऐसा करना संभव है - यानी: समाधान/प्रोजेक्ट या प्रॉपर्टी शीट्स में यह सब कुछ है - इसलिए यदि हम बदलते हैं स्रोत नियंत्रण प्रणाली पर संरचना हमें हर मशीन को अद्यतन करने की ज़रूरत नहीं है?

धन्यवाद :)

+2

मैं वीएम (बिल्ड सर्वर) के लिए प्रतिबद्ध होगा। वैकल्पिक रूप से, भूत स्थापना छवियों। (आईएमओ जो आप वर्णन कर रहे हैं, एक तरह से, यूनिक्स दुनिया है, और दुख की बात है कि माइक्रोसॉफ्ट उस तस्वीर को बहुत अच्छी तरह से फिट नहीं करता है) – sehe

+0

दोनों प्रश्नों के लिए हाँ, हालांकि यह मामूली ऑपरेशन से अधिक हैक है। यह कुछ है जिसे आप बिल्ड मशीन पर सेट कर सकते हैं। किसी भी मामले में आपको इसे बाहर निकालना चाहिए और उपयोग के लिए तैयार होने पर इसे देव शाखा में ले जाना चाहिए। – KMoraz

+0

मैं @sehe से सहमत हूं कि आपको मानक वीएम बनाने और डेवलपर्स को उसी वातावरण का उपयोग करने के लिए मजबूर करना चाहिए। यह एक सख्त प्रक्रिया है कि हर किसी को तब तक पालन करना चाहिए जब तक कि कोई भी निर्माण तोड़ना और किसी और को चोट पहुंचाना नहीं चाहता। अगर किसी को एक नए एसडीके का उपयोग करने की ज़रूरत है, तो उसके लिए एक नई वीएम छवि बनाएं, और एक अलग शाखा में चेक-इन करने के लिए कहें। एक बार सही होने के बाद, हर किसी को उस नई वीएम छवि में अपग्रेड करना चाहिए। यदि आप अच्छा प्रबंधन करते हैं, तो आपको स्रोत नियंत्रण में एसडीके में जांच करने की आवश्यकता नहीं है, क्योंकि यह समाधान नहीं है। –

उत्तर

0

यह जटिल लगता है, यह देखते हुए कि कैसे जटिल इन उपकरण प्रतिष्ठानों से कुछ हैं। मैं कुछ पावरशेल स्क्रिप्ट्स में निवेश करके इस समस्या को हल करता हूं जो इंस्टॉल किए गए टूल्स और टूल पथ और "पुलिस" इंस्टॉलेशन को देखते हैं। पैच और अपडेट सहित सब कुछ के स्थापित संस्करणों की जांच करना अपेक्षाकृत आसान होगा। आप उन रात को, या एक निर्माण के हिस्से के रूप में चला सकते हैं। साथ ही, आप विभिन्न इंस्टॉलेशन के पहलुओं की तुलना कर सकते हैं, जैसे कि आपके बिल्ड सर्वर के साथ डेवलपर बॉक्स पर स्थापित टूल संस्करण।

इससे आपको 10% दर्द के लिए 9 0% मूल्य मिलेगा।

0

आपके द्वारा वर्णित समस्याओं को आपके दृष्टिकोण से हल नहीं किया गया है। आपको वास्तव में क्या आवश्यकता है एक बिल्ड सर्वर और बिल्ड सर्वर के साथ बनाए गए बाइनरी का उपयोग करने की परिभाषा है। निर्माण के निर्माण से संबंधित कुछ आविष्कारों के साथ बिल्ड परिभाषा के हिस्से के रूप में आपको एक परीक्षण सूट की भी आवश्यकता है।

संबंधित मुद्दे