Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
MSBuild menyediakan format XML yang terdefinisi dengan baik dan dapat diperluas untuk membuat file proyek yang sepenuhnya menjelaskan item proyek yang akan dibangun, membangun tugas, dan membangun konfigurasi.
Pertimbangan MSBuild Umum
File proyek MSBuild, misalnya, file Visual C# .csproj dan Visual Basic .vbproj, berisi data yang digunakan pada waktu build, tetapi juga dapat berisi data yang digunakan pada waktu desain. Data build-time disimpan menggunakan primitif MSBuild, termasuk Elemen Item (MSBuild) dan Elemen Properti (MSBuild). Data saat perancangan, yang merupakan data khusus untuk jenis proyek dan subjenis proyek terkait, disimpan dalam XML bentuk bebas yang memang disediakan untuk itu.
MSBuild tidak memiliki dukungan asli untuk objek konfigurasi, tetapi menyediakan atribut bersyarkat untuk menentukan data khusus konfigurasi. Contohnya:
<OutputDir Condition="'$(Configuration)'=="release'">Bin\MyReleaseConfig</OutputDir>
Untuk informasi selengkapnya tentang atribut kondisional, lihat Konstruksi Kondisional.
Memperluas MSBuild untuk Jenis Proyek Anda
Antarmuka dan API MSBuild dapat berubah dalam versi Visual Studio yang akan datang. Oleh karena itu, sangat bijaksana untuk menggunakan kelas kerangka kerja paket terkelola (MPF) karena menyediakan perisai dari perubahan.
Kerangka Kerja Paket Terkelola untuk Proyek (MPFProj) menyediakan kelas pembantu untuk membuat dan mengelola sistem proyek baru. Anda dapat menemukan kode sumber dan petunjuk kompilasi di MPF for Projects - Visual Studio 2013.
Kelas MPF khusus proyek adalah sebagai berikut:
| Class | Implementation |
|---|---|
Microsoft.VisualStudio.Package.ProjectNode |
IVsProject3 IVsCfgProvider2 IPersistFileFormat IVsSolutionEvents |
Microsoft.VisualStudio.Package.ProjectFactory |
IVsProjectFactory |
Microsoft.VisualStudio.Package.HierarchyNode |
IVsHierarchy |
Microsoft.VisualStudio.Package.ProjectConfig |
IVsCfg IVsProjectCfg IVsBuildableProjectCfg IVsDebuggableProjectCfg |
Microsoft.VisualStudio.Package.SettingsPage |
IPropertyPageSite |
Microsoft.VisualStudio.Package.ProjectElement kelas adalah pembungkus untuk item MSBuild.
Generator File Tunggal vs. Tugas MSBuild
Generator file tunggal hanya dapat diakses pada waktu desain, tetapi tugas MSBuild dapat digunakan pada waktu desain dan waktu build. Oleh karena itu, untuk fleksibilitas maksimum, gunakan tugas MSBuild untuk mengubah dan menghasilkan kode. Untuk informasi selengkapnya, lihat Alat Kustom.