MSBuild - MSBuild

MSBuild
Geliştirici (ler)Microsoft
İlk sürüm2003; 17 yıl önce (2003)
Kararlı sürüm
v16.7.0.37604 / 26 Temmuz 2020; 4 ay önce (2020-07-26)[1]
Depo Bunu Vikiveri'de düzenleyin
YazılmışC #
İşletim sistemiÇapraz platform
Platform.NET Framework, .NET Çekirdeği
TürOluşturma aracı
LisansMIT Lisansı
İnternet sitesidokümanlar.microsoft.com/görsel stüdyo/ msbuild/ msbuild Bunu Vikiveri'de düzenleyin

Microsoft Derleme Altyapısı, daha çok MSBuild,[2][3] bir ücretsiz ve açık kaynak inşa aracı kurmak yönetilen kod yerli olduğu kadar C ++ kod ve parçasıydı .NET Framework. Görsel stüdyo MSBuild'e bağlıdır, ancak tersi geçerli değildir.[4] Visual Studio Uygulama Yaşam Döngüsü Yönetimi MSBuild'in ekip derlemeleri gerçekleştirmesine bağlıdır Azure DevOps Sunucusu.[4]

Genel Bakış

MSBuild bir inşa aracı bir yazılım ürünü oluşturma sürecini otomatikleştirmeye yardımcı olan derleme kaynak kodu, ambalaj, test yapmak, dağıtım ve dokümantasyonlar oluşturmak. MSBuild ile, Visual Studio olmadan Visual Studio projeleri ve çözümleri oluşturmak mümkündür IDE Kurulmuş. MSBuild ücretsiz ve açık kaynak.[5] MSBuild önceden .NET Framework; ile başlayarak Visual Studio 2013 ancak bunun yerine Visual Studio ile paketlenmiştir.[6] MSBuild, işlevsel bir alternatiftir. nmake yardımcı program, eski Visual Studio sürümlerinden kaynaklanan projelerde kullanımda kalır.

MSBuild, benzer MSBuild proje dosyaları üzerinde çalışır. XML sözdizimi Apache Ant veya NAnt. Sözdizimi iyi tanımlanmış XML şemasına dayanmasına rağmen, temel yapı ve işlem geleneksel Unix ile karşılaştırılabilir Yapmak yardımcı program: kullanıcı, neyin kullanılacağını (tipik olarak kaynak kodu dosyaları) ve sonucun ne olması gerektiğini (tipik olarak statik bir kitaplık, DLL veya çalıştırılabilir bir uygulama) belirtir, ancak yardımcı programın kendisi ne yapacağına ve hangi sırayla uygulanacağına yapı.

MSBuild, desteklenen bir .NET Framework sürümüne karşı bir proje oluşturabilir. Bu özelliğe "çoklu hedefleme" denir. Bununla birlikte, herhangi bir proje yapısı, bir seferde çerçevenin yalnızca bir sürümünü hedefleyebilir.[7]

Tarih

MSBuild ilk olarak 2003 hedeflemesinde oluşturuldu .NET Framework 2.0 kullanmak için Visual Studio 2005 (kod adı Whidbey)[8] ve Windows Vista (kod adı Longhorn).[9][10]

Versiyonlar

Sürüm.NET FrameworkVisual Studio SürümüOlağan Yükleme Konumları (x86)[11]
2.02.02005C: WindowsMicrosoft.NETFrameworkv2.0.50727
3.53.52008C: WindowsMicrosoft.NETFrameworkv3.5
4.7.3062.04.02010C: WindowsMicrosoft.NETFrameworkv4.0.30319
4.8.3761.04.5.22012C: WindowsMicrosoft.NETFrameworkv4.0.30319
12.0[6]4.5.22013C: Program Dosyaları (x86) MSBuild12.0Bin
14.04.62015C: Program Dosyaları (x86) MSBuild14.0Bin
15.0[12]4.72017
  • C: Program Dosyaları (x86) Microsoft Visual Studio2017BuildToolsMSBuild15.0Bin
  • C: Program Dosyaları (x86) Microsoft Visual Studio2017KurumsalMSBuild15.0Bin
  • C: Program Dosyaları (x86) Microsoft Visual Studio2017ToplulukMSBuild15.0Bin
16.0[13]4.7.22019C: Program Dosyaları (x86) Microsoft Visual Studio2019KurumsalMSBuildCurrentBin

Terminoloji

Hedef
Bir Hedef MSBuild'in yürüteceği bir dizi görev içerir. MSBuild'in odak noktası sonuçtur Hedef proje dosyasıyla MSBuild çağrılırken belirtilir. Bunun nedeni Proje birkaç içerebilir Hedef girişler, her biri sırayla (ve koşullu olarak) yürütülür. Sonraki bağımlı Hedefler, talep edilen Hedeften önce yürütülür. Akımın yürütme akışı Hedef aşağıdaki öznitelikler kullanılarak yönlendirilebilir: Koşul, ÖnceTarget'lar, Sonradan Hedefler ve DependsOnTargets. Her Hedef, kendi kendine tamamlanması için gerekli Görevlere sahip olabilir. Hedef tipik olarak bir dosya, dosya kümesi veya dizin üzerinde yürütülen bir eylemdir.
Görev
Bir Görev Hedefi tamamlamak için yürütülen bir komuttur. Görevler derleme işlemi sırasında herhangi bir sayıda eylemi gruplamak ve yürütmek için kullanılır. Bunlar genellikle bir .NET derlemesinde Task sınıfından miras alan veya ITask arabirimini uygulayan bir sınıf olarak uygulanır. .NET Framework'ün bir parçası olarak birçok temel görev gönderilir,[14] ve topluluk tarafından geliştirilen görevler ücretsiz olarak kullanılabilir. Bazı örnekler Görevler dosya kopyalamayı, dizin oluşturmayı veya XML'i ayrıştırmayı içerir.
Özellikler ve Öğeler
MSBuild sağlar Özellikleri ve Öğelerkavramsal olarak eşdeğer olan yapmak makrolar. Özellikler statik değerleri belirtirken, Öğeler genellikle Görevlerin gerçekleştirileceği dosya veya klasör kümelerini tanımlamak için kullanılır. Öğelerdeki dosyaların belirlenmesi, joker karakterlerin desteklenmesiyle kolaylaştırılmıştır.

Ayrıca bakınız

Referanslar

  1. ^ "En son sürüm". Microsoft / msbuild. GitHub. Microsoft. Alındı 2020-09-13.
  2. ^ "microsoft / msbuild: Microsoft Build Engine (MSBuild), .NET ve Visual Studio için derleme platformudur". GitHub. Microsoft. Alındı 2019-07-23.
  3. ^ Hashimi, Sayed Ibrahim; Bartholomew William (2009). Microsoft Build Engine'in İçinde: MSBuild ve Team Foundation Build Kullanımı. Microsoft Press. s. 406. ISBN  978-0-7356-2628-7.
  4. ^ a b "MSBuild". MSBuild. Microsoft Docs. Alındı 2019-07-23.
  5. ^ Lander, Rich (18 Mart 2015). "MSBuild Engine artık GitHub'da Açık Kaynak". .NET Blogu. MSDN Blogları. Microsoft. Alındı 2019-07-23.
  6. ^ a b "MSBuild 12.0'daki yenilikler". MSBuild. Microsoft Docs. Alındı 2019-07-23.
  7. ^ "MSBuild çoklu hedeflemeye genel bakış". MSBuild. Microsoft Docs. Alındı 2019-07-23.
  8. ^ "Oluşturma, Test Etme ve Dağıtım". Visual Studio 2005'teki Yenilikler. MSDN. Microsoft. Arşivlenen orijinal 2014-08-26 tarihinde.
  9. ^ Sneath, Tim (19 Temmuz 2004). "MSBuild: Visual Studio 2005 ve Longhorn için Yeni Yapı Sistemi". Tim Sneath. MSDN Blogları. Alındı 2018-04-22.
  10. ^ İngiltere, Chuck (25 Şubat 2010). "MSBuild'e Başlarken". Visual Studio Blogu. MSDN Blogları. Alındı 2018-04-22.
  11. ^ "Standart ve özel Araç Seti yapılandırmaları". MSBuild. Microsoft Docs. Alındı 2019-07-23.
  12. ^ "MSBuild 15'teki yenilikler". MSBuild. Microsoft Docs. Alındı 2019-07-23.
  13. ^ "MSBuild 16.0'daki yenilikler". MSBuild. Microsoft Docs. Alındı 2019-07-23.
  14. ^ "MSBuild görev referansı". MSBuild. Microsoft Docs. Alındı 2019-07-23.

daha fazla okuma

Dış bağlantılar