हम लगातार एकीकरण के लिए TeamCity का उपयोग कर रहे हैं और यह समाधान फ़ाइल (.sln) के माध्यम से हमारी रिलीज़ का निर्माण कर रहा है। मैंने विभिन्न प्रणालियों के लिए अतीत में मेकफाइल्स का उपयोग किया है, लेकिन कभी भी msbuild (जो मैंने सुना है वह मेकफाइल्स + एक्सएमएल मैशअप की तरह है)। मैं कैसे समाधान फ़ाइलों के बजाय सीधे MSBuild का उपयोग करने पर कई पदों को देखा है, लेकिन मैं पर एक बहुत ही स्पष्ट उत्तर नहीं दिख रहा है यही कारण है कि यह करने के लिए।
तो, क्यों हम समाधान फ़ाइलों से एक MSBuild 'मेकफाइल' के लिए पलायन परेशान करना चाहिए? हमारे पास रिलीज की एक जोड़ी है जो एक #define (अलग-अलग बिल्ड) द्वारा भिन्न है लेकिन अधिकांश भाग के लिए सब कुछ काम करता है।
इससे भी बड़ी चिंता यह है कि अब हमें परियोजनाओं / स्रोत कोड को जोड़ते समय दो प्रणालियों को बनाए रखना होगा ।
अपडेट करें:
क्या लोग निम्नलिखित तीन घटकों के जीवनचक्र और परस्पर क्रिया पर प्रकाश डाल सकते हैं?
- Visual Studio .sln फ़ाइल
- कई परियोजना स्तर .csproj फाइलें (जिन्हें मैं "उप" msbuild स्क्रिप्ट समझता हूं)
- कस्टम msbuild स्क्रिप्ट
क्या यह कहना सुरक्षित है कि .sln और .csproj का उपभोग / रखरखाव विज़ुअल स्टूडियो IDE GUI के भीतर से सामान्य रूप से किया जाता है, जबकि कस्टम msbuild स्क्रिप्ट हाथ से लिखी जाती है और आमतौर पर पहले से मौजूद व्यक्तिगत .csproj "as-is" का उपभोग करती है? यही एक तरीका है कि मैं रखरखाव में ओवरलैप / डुप्लिकेट को कम कर सकता हूं ...
अन्य लोगों के परिचालन अनुभव से इस पर कुछ प्रकाश की सराहना करेंगे
Because it's reputed to be better practice
कहाँ पे?
So, why should we bother migrating from solution files to an MSBuild 'makefile'?
पहले आपको यह बताना होगा कि आप इस पर विचार क्यों कर रहे हैं? क्या समाधान फ़ाइल पर्याप्त नहीं है?