Bagikan melalui


Membuat konfigurasi Toolset kustom

Set alat MSBuild berisi referensi ke tugas, target, dan alat yang dapat Anda gunakan untuk membangun proyek aplikasi. MSBuild menyertakan toolset standar, tetapi Anda juga dapat membuat toolset kustom.

Konfigurasi toolset standar

MSBuild berisi toolset Current standar yang mereferensikan versi MSBuild saat ini, yang diinstal ke folder MSBuild\Current\Bin di bawah direktori penginstalan Visual Studio.

Definisi toolset kustom

Ketika Toolset standar tidak memenuhi persyaratan build Anda, Anda dapat membuat Toolset kustom. Misalnya, Anda mungkin memiliki skenario lab build yang mengharuskan Anda memiliki sistem terpisah untuk membangun proyek C++. Dengan menggunakan Toolset kustom, Anda dapat menetapkan nilai kustom ke atribut ToolsVersion saat menjalankan MSBuild.exe dengan menggunakan sakelar baris perintah /toolsVersion. Jika Anda menentukan atribut ToolsVersion dalam file proyek, atribut tersebut akan diabaikan.

Dengan melakukan ini, Anda juga dapat menggunakan properti $(MSBuildToolsPath) untuk mengimpor file .targets dari direktori tersebut, serta menentukan properti Toolset kustom Anda sendiri yang dapat digunakan untuk setiap proyek yang menggunakan Toolset tersebut.

Tentukan Toolset kustom dalam file konfigurasi untuk MSBuild.exe (atau untuk alat kustom yang menghosting mesin MSBuild jika itu yang Anda gunakan). Misalnya, file konfigurasi untuk MSBuild.exe dapat menyertakan definisi Toolset berikut jika Anda ingin menentukan toolset bernama MyCustomToolset.

<msbuildToolsets default="MyCustomToolset">
   <toolset toolsVersion="MyCustomToolset">
      <property name="MSBuildToolsPath"
        value="C:\SpecialPath" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets> juga harus ditentukan dalam file konfigurasi, sebagai berikut.

<configSections>
   <section name="msbuildToolsets"
       type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection,
       Microsoft.Build, Version=15.1.0.0, Culture=neutral,
       PublicKeyToken=b03f5f7f11d50a3a">
   </section>
</configSections>

Catatan

Agar dapat dibaca dengan benar, <configSections> harus menjadi sub-bagian pertama di bagian <configuration> tersebut.

ToolsetConfigurationSection adalah bagian konfigurasi kustom yang dapat digunakan oleh setiap host MSBuild untuk konfigurasi kustom. Jika Anda menggunakan Toolset kustom, host tidak perlu melakukan apa pun untuk menginisialisasi mesin build kecuali menyediakan entri file konfigurasi.

Properti berikut khusus untuk nilai ToolsVersion yang digunakan dalam proyek:

  • $(MSBuildBinPath) ditetapkan ke nilai ToolsPath yang ditentukan baik dalam registri atau file konfigurasi tempat ToolsVersion ditentukan. Pengaturan $(MSBuildToolsPath) dalam registri atau file konfigurasi menentukan lokasi target dan tugas inti. Dalam file proyek, ini memetakan ke properti $(MSBuildBinPath), dan juga ke properti $(MSBuildToolsPath).

  • $(MSBuildToolsPath) adalah properti cadangan yang disediakan oleh properti MSBuildToolsPath yang ditentukan dalam file konfigurasi. (Properti ini menggantikan $(MSBuildBinPath). Namun, $(MSBuildBinPath) diteruskan untuk kompatibilitas.) Toolset kustom harus menentukan $(MSBuildToolsPath) atau $(MSBuildBinPath) tetapi tidak keduanya, kecuali keduanya memiliki nilai yang sama.

    Anda juga dapat menambahkan properti khusus ToolsVersion kustom ke file konfigurasi dengan menggunakan sintaks yang sama dengan yang digunakan untuk menambahkan properti MSBuildToolsPath. Agar properti kustom ini tersedia untuk file proyek, gunakan nama yang sama dengan nama nilai yang ditentukan dalam file konfigurasi. Anda dapat menentukan Toolset tetapi bukan sub-toolset dalam file konfigurasi.