MSBuild API'sini kullanma

MSBuild, programınızın derlemeler gerçekleştirebilmesi ve projeleri inceleyebilmesi için genel bir API yüzeyi sağlar. MSBuild API'lerinin son sürümleri aşağıdaki NuGet paketlerinde bulunabilir:

Paket adı Açıklama
Microsoft.Build MSBuild projelerini oluşturmak, düzenlemek ve değerlendirmek için kullanılan Microsoft.Build derlemesini içerir.
Microsoft.Build.Framework Diğer MSBuild derlemeleri tarafından kullanılan ortak MSBuild çerçeve derlemesini içerir.
Microsoft.Build.Runtime MSBuild'in tam bir yürütülebilir kopyasını teslim eder. Bu pakete yalnızca uygulamanızın MSBuild yüklemesi gerekmeden projeleri yüklemesi veya işlem içi derlemeler yürütmesi gerekiyorsa başvurun. Bu paketi kullanarak projelerin başarıyla değerlendirilmesi için ek bileşenlerin (derleyiciler gibi) bir uygulama dizinine toplanması gerekir.
Microsoft.Build.Tasks.Core MSBuild'in yaygın olarak kullanılan görevlerini uygulayan Microsoft.Build.Tasks derlemesini içerir.
Microsoft.Build.Utilities.Core Özel MSBuild görevlerini uygulamak için kullanılan Microsoft.Build.Utilities derlemesini içerir.

Ayrıca NuGet, kullanım dışı olan eski bir Microsoft.Build.Engine derlemesini de barındırır.

MSBuild API'sinin birkaç farklı sürümü vardır ve 15 ve 16 sürümleri için, NuGet paketlerinde biri .NET Framework ile derlenmiş, diğeri ise .NET Framework API yüzeyinin bir alt kümesi olan .NET Core ile derlenmiş iki ayrı derleme biçimi vardır. MSBuild'in .NET Core sürümü, komutunu çağırdığınızda dotnet ve Mac ve Linux sistemlerinde MSBuild kullanırken kullanılır.

MSBuild API'sine yönelik belgeler .NET API Tarayıcısı kullanılarak veya aşağıdaki listede yer alan ad alanlarına göz atılarak bulunabilir.

Namespace Şunun için geçerlidir: Açıklama
Microsoft.Build.Construction Tümü MSBuild nesne modelinin değerlendirilmemiş değerlerle proje kökleri oluşturmak için kullandığı türleri içerir. Her proje kökü bir projeye veya hedefler dosyasına karşılık gelir.
Microsoft.Build.Definition Tümü Proje yapımını destekleyen ProjectOptions sınıfını içerir.
Microsoft.Build.Evaluation Tümü MSBuild nesne modelinin projeleri değerlendirmek için kullandığı türleri içerir. Her proje bir veya daha fazla proje köküyle ilişkilendirilir.
Microsoft.Build.Evaluation.Context Tümü Değerlendirme durumunu çağrılar arasında depolamak için kullanılan EvaluationContext sınıfını içerir.
Microsoft.Build.Exceptions Tümü Derleme işlemi sırasında oluşturulabilecek özel durum türlerini içerir.
Microsoft.Build.Execution Tümü MSBuild nesne modelinin proje oluşturmak için kullandığı türleri içerir.
Microsoft.Build.Framework Tümü Görevlerin ve günlükçülerin MSBuild altyapısıyla nasıl etkileşim kurduğunu tanımlayan türleri içerir.
Microsoft.Build.Framework.Profiler Tümü Performans profili oluşturmayı destekleyen türleri içerir.
Microsoft.Build.Framework.XamlTypes Yalnızca .NET Framework Dosyalardan, kurallardan ve diğer kaynaklardan ayrıştırılan XAML türlerini temsil etmek için kullanılan sınıfları içerir.
Microsoft.Build.Globbing Tümü Joker karakter işlemeyi destekleyen sınıflar içerir.
Microsoft.Build.Globbing.Extensions Tümü Joker karakter işleme uzantılarını destekleyen türler içerir.
Microsoft.Build.Graph Tümü MSBuild düğmesini destekleyen -graph türleri içerir.
Microsoft.Build.Logging Tümü Bir yapının ilerlemesini günlüğe kaydetmek için kullanılan türleri içerir.
Microsoft.Build.ObjectModelRemoting Tümü MSBuild'de remoting'i destekleyen türleri içerir.
Microsoft.Build.Tasks Tümü MSBuild ile gönderilen tüm görevlerin uygulanmasını içerir.
Microsoft.Build.Tasks.Deployment.Bootstrapper Yalnızca .NET Framework MSBuild tarafından dahili olarak kullanılan sınıfları içerir.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Yalnızca .NET Framework MSBuild'in kullandığı sınıfları içerir.
Microsoft.Build.Tasks.Hosting Tümü MSBuild tarafından dahili olarak kullanılan sınıfları içerir.
Microsoft.Build.Tasks.Xaml Yalnızca .NET Framework XAML derleme görevleriyle ilgili sınıfları içerir.
Microsoft.Build.Utilities Tümü Kendi MSBuild günlükçülerinizi ve görevlerinizi oluşturmak için kullanabileceğiniz yardımcı sınıflar içerir.

Önceki tabloda Uygulananlar sütunundaki Tümü, ad alanı içindeki türlerin MSBuild API'sinin hem .NET Framework hem de .NET Core sürümlerinde kullanılabilir olduğu anlamına gelir.

MSBuild Bulucu

MSBuild Bulucu, makinede MSBuild'i bulmak için kullanabileceğiniz bir API'dir. MSBuild'in yüklü sürümlerini bulmak istediğinizde derleme araçları geliştirmede kullanabilirsiniz.

NuGetPackage, Microsoft.Build.Locator konumundadır ve başvuru belgeleri Microsoft'tadır.

MSBuildLocator hakkında daha fazla bilgi için bkz. MSBuild sürümlerini bulma ve kullanma.

  • MSBuild