मैंने दोनों का उपयोग करके समाप्त किया। जब हमारी निर्माण प्रणाली को फिर से डिज़ाइन किया गया, तो मैं एक मुश्किल समस्या का सामना कर रहा था। अर्थात्, मैं .proproj (और परिवार) से छुटकारा नहीं पा सका क्योंकि हम हर कोई प्रोजेक्ट फ़ाइलों, सेटिंग्स और कॉन्फ़िगरेशन को अपडेट करने के लिए VS का उपयोग कर रहा था। इसलिए एक विशाल दोहराव और त्रुटि प्रवण प्रक्रिया के बिना, हम फ़ाइलों के एक नए सेट पर अपने निर्माण प्रणाली को आधार नहीं बना सकते।
इस कारण से, मैंने वीएस की 'प्रेज' फाइलों को रखने और MSBuild का उपयोग करने का निर्णय लिया (वे MSBuild फाइलें हैं, कम से कम VS2005 और VS2008 MSBuild प्रोजेक्ट फाइलों का उपयोग करें)। बाकी सब के लिए (कस्टम कॉन्फ़िगरेशन, यूनिट परीक्षण, पैकेजिंग, प्रलेखन तैयार करना ...) मैंने NAnt का उपयोग किया।
निरंतर एकीकरण के लिए, मैंने क्रूज़कंट्रोल का उपयोग किया। तो हमारे पास CC स्क्रिप्ट थी जो NAnt नौकरियों को ट्रिगर करती थी, जो कि MSBuild के निर्माण के लिए थी।
एक अंतिम नोट: MSBuild सेटअप परियोजनाओं का समर्थन नहीं करता है! तो आप DevEnv.com पर कॉल करने या सीधे विजुअल स्टूडियो का उपयोग करने पर अड़े हुए हैं। यही कारण है कि मैंने ऐसा करना समाप्त कर दिया है, लेकिन मैंने सेटअप प्रोजेक्ट को सभी समाधान कॉन्फ़िगरेशन से डिफ़ॉल्ट रूप से अक्षम कर दिया है, क्योंकि डेवलपर्स को सामान्य रूप से उन्हें बनाने की आवश्यकता नहीं होगी, और यदि वे करते हैं, तो वे मैन्युअल रूप से उन्हें बनाने का चयन कर सकते हैं।