Aracılığıyla paylaş


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.

Ad Alanı Uygulandığı Öğe Açıklama
Microsoft.Build.Construction Tümünü 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ünü Proje yapımını ProjectOptions destekleyen sınıfını içerir.
Microsoft.Build.Evaluation Tümünü 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ünü Değerlendirme durumunu çağrılar EvaluationContext arasında depolamak için kullanılan sınıfını içerir.
Microsoft.Build.Exceptions Tümünü Derleme işlemi sırasında oluşturulabilecek özel durum türlerini içerir.
Microsoft.Build.Execution Tümünü MSBuild nesne modelinin proje oluşturmak için kullandığı türleri içerir.
Microsoft.Build.Framework Tümünü 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ünü 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ünü Joker karakter işlemeyi destekleyen sınıflar içerir.
Microsoft.Build.Globbing.Extensions Tümünü Joker karakter işleme uzantılarını destekleyen türler içerir.
Microsoft.Build.Graph Tümünü MSBuild anahtarını destekleyen -graph türleri içerir.
Microsoft.Build.Logging Tümünü Bir derlemenin ilerleme durumunu günlüğe kaydetmek için kullanılan türleri içerir.
Microsoft.Build.ObjectModelRemoting Tümünü MSBuild'de uzaktan iletişimi destekleyen türleri içerir.
Microsoft.Build.Tasks Tümünü 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ünü 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ünü 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.