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.