Bu soruyu ele alalım.
Kesinlikle .SLN dosyanızı 'oluşturma işlemi' olarak kullanabilmenize rağmen, dosyanın kendisi gerçekten bir oluşturma işlemi oluşturmaz. Çözüm dosyası gerçekten Visual Studio'nun sadece bir parçasıdır ve geliştirme için kullanılır. Ancak Visual Studio derleme ve yayınlama sürecinin sadece bir parçasıdır. Yapınızı yönetmek için Çözümlere güvenemezsiniz ve Çözümler kesinlikle ölçeklenebilir bir yapı durumu sunmaz.
Bir inşa süreci kurmanın tüm amacı, güvenilir binalar oluşturmaktır. Yani, derleme işlemi o kadar güvenilirdir ki derleme yapılandırması ne olursa olsun, tahmin edilebilir bir derleme çıktısı alırsınız. Her zaman, her makine. Öngörülebilir ve güvenilir bir yapının sonucu, test, devreye alma ve serbest bırakma işleminin yüksek derecede otomatikleştirilebilmesi ve böylece insan hatası riskini daha da azaltmasıdır.
Bir inşa süreci oluşturmak bir yatırım gerektirir, ancak bazı durumlarda yatırım gerekir. Msbuild sürecini destekleyen bazı faktörler şunlardır:
- Ürününüzde aynı ekip projesinde çalışan birden fazla ekip (işlevler arası veya başka türlü) var
- Kuruluşunuzda yalnızca bir ekip projesi var (geleneksel mağazaların% 99'unda, hatta 200'den fazla geliştiricisi olanlarda bile)
- İnşa edilmesi gereken, bazıları başkalarına bağımlı olan ve farklı ekipler tarafından sürdürülen 20'den fazla projeniz var
- Ürününüz birden fazla .NET teknolojisi (C #, C ++, VB, F #, ASP.NET, vb.) Veya hatta .NET dışı teknolojiler (Grunt, düğüm, npm, Java, vb.)
- Ürününüz ağır ağırlık bağımlılıklarına sahiptir veya ağır ağırlık platformunun üzerine kurulmuştur. Örnek olarak SharePoint
Son noktayı genişletmek için bir örnek vereyim. Mevcut şirketim SharePoint geliştiriyor. SharePoint geliştirmeleri, SharePoint projelerinde derlemeler gerçekleştirmek için SharePoint temelinin yüklenmesini gerektirir. Hafif bir yapı sunucusu açısından, yapı sunucusunun SharePoint'in yüklü olmasını gerektirmek tamamen pratik değildir. SharePoint yalnızca yüksek gereksinimleri olan bir canavar değil, aynı zamanda bir yapı üzerinde ciddi performans etkileri olacaktır - ve yapıların mümkün olduğunca hızlı ve yalın olması gerekir. MSBuild'den yararlanmak derleme sunucusundaki bu yükleme gereksinimini ortadan kaldırmamı sağlıyor. Aslında, derleme sunucumuzun .NET çerçevesi (MSBuild için gereklidir) ve Düğüm dışında herhangi bir yükleme gereksinimi yoktur.
Referans olarak, bu kitabı Sayed Ibrahim Hashimi tarafından kontrol etmenizi tavsiye ederim:
http://www.amazon.com/Inside-Microsoft-Build-Engine-Foundation/dp/0735645248/ref=sr_1_fkmr0_1?ie=UTF8&qid=1412014650&sr= 8-1-fkmr0 & anahtar kelimeler = msbuild + güvenilir + inşa
So, why should we bother migrating from solution files to an MSBuild 'makefile'?Öncelikle neden bunu düşündüğünüzü söylemelisiniz? Çözüm dosyası yeterli değil mi?