Menggunakan API MSBuild

MSBuild menyediakan permukaan API umum sehingga program Anda dapat melakukan build dan memeriksa proyek. Versi terbaru dari API MSBuild dapat ditemukan di paket NuGet berikut:

Nama paket Deskripsi
Microsoft.Build Berisi rakitan Microsoft.Build yang digunakan untuk membuat, mengedit, dan mengevaluasi proyek MSBuild.
Microsoft.Build.Framework Berisi rakitan kerangka kerja MSBuild umum yang digunakan oleh rakitan MSBuild lainnya.
Microsoft.Build.Runtime Memberikan salinan lengkap MSBuild yang dapat dijalankan. Referensikan paket ini hanya jika aplikasi Anda perlu memuat proyek atau menjalankan build dalam proses tanpa memerlukan penginstalan MSBuild. Berhasil mengevaluasi proyek menggunakan paket ini memerlukan agregasi komponen tambahan (seperti kompiler) ke dalam direktori aplikasi.
Microsoft.Build.Tasks.Core Berisi rakitan Microsoft.Build.Tasks yang mengimplementasikan tugas MSBuild yang umum digunakan.
Microsoft.Build.Utilities.Core Berisi rakitan Microsoft.Build.Utilities yang digunakan untuk mengimplementasikan tugas MSBuild kustom.

Selain itu, NuGet juga menghosting rakitan warisan, Microsoft.Build.Engine, yang tidak digunakan lagi.

Ada beberapa versi berbeda dari MSBuild API, dan untuk versi 15 dan 16, ada dua bentuk berbeda dari rakitan dalam paket NuGet, satu dikompilasi dengan .NET Framework, dan yang lain dikompilasi dengan .NET Core, yang merupakan subset dari permukaan .NET Framework API. Versi .NET Core dari MSBuild digunakan saat Anda menjalankan perintah dotnet, dan saat menggunakan MSBuild di sistem Mac dan Linux.

Dokumentasi untuk MSBuild API dapat ditemukan dengan menggunakan .NET API Browser, atau dengan menjelajahi namespace layanan dalam daftar berikut.

Ruang nama Berlaku Untuk Deskripsi
Microsoft.Build.Construction Semua Berisi jenis yang digunakan model objek MSBuild untuk membangun akar proyek dengan nilai yang tidak dievaluasi. Setiap akar proyek sesuai dengan proyek atau file target.
Microsoft.Build.Definition Semua Berisi kelas ProjectOptions, yang mendukung konstruksi proyek.
Microsoft.Build.Evaluation Semua Berisi jenis yang digunakan model objek MSBuild untuk mengevaluasi proyek. Setiap proyek dikaitkan dengan satu atau beberapa akar proyek.
Microsoft.Build.Evaluation.Context Semua Berisi kelas EvaluationContext, yang digunakan untuk menyimpan status evaluasi di seluruh panggilan.
Microsoft.Build.Exceptions Semua Berisi jenis pengecualian yang mungkin dilemparkan selama proses pembuatan.
Microsoft.Build.Execution Semua Berisi jenis yang digunakan model objek MSBuild untuk membangun proyek.
Microsoft.Build.Framework Semua Berisi jenis yang menentukan bagaimana tugas dan pencatat berinteraksi dengan mesin MSBuild.
Microsoft.Build.Framework.Profiler Semua Berisi jenis yang mendukung profil performa.
Microsoft.Build.Framework.XamlTypes Hanya .NET Framework Berisi kelas yang digunakan untuk mewakili jenis XAML yang diurai dari file, aturan, dan sumber lainnya.
Microsoft.Build.Globbing Semua Berisi kelas yang mendukung pemrosesan wildcard.
Microsoft.Build.Globbing.Extensions Semua Berisi jenis yang mendukung ekstensi untuk pemrosesan karakter wildcard.
Microsoft.Build.Graph Semua Berisi jenis yang mendukung sakelar -graph MSBuild.
Microsoft.Build.Logging Semua Berisi jenis yang digunakan untuk mencatat kemajuan build.
Microsoft.Build.ObjectModelRemoting Semua Berisi jenis yang mendukung jarak jauh di MSBuild.
Microsoft.Build.Tasks Semua Berisi implementasi semua tugas pengiriman dengan MSBuild.
Microsoft.Build.Tasks.Deployment.Bootstrapper Hanya .NET Framework Berisi kelas yang digunakan secara internal oleh MSBuild.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Hanya .NET Framework Berisi kelas yang digunakan MSBuild.
Microsoft.Build.Tasks.Hosting Semua Berisi kelas yang digunakan secara internal oleh MSBuild.
Microsoft.Build.Tasks.Xaml Hanya .NET Framework Berisi kelas yang terkait dengan tugas build XAML.
Microsoft.Build.Utilities Semua Berisi kelas pembantu yang dapat Anda gunakan untuk membuat pencatat dan tugas MSBuild Anda sendiri.

Dalam tabel sebelumnya, Semua di kolom Terapkan Ke berarti jenis di namespace layanan tersedia di versi .NET Framework dan .NET Core dari MSBuild API.