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.
Memetakan tugas yang dirujuk dalam elemen Tugas ke rakitan yang berisi implementasi tugas.
<Project><UsingTask>
Syntax
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
Nota
Tidak seperti properti dan item, elemen pertamaUsingTask yang berlaku untuk TaskName digunakan; untuk mengambil alih tugas, Anda harus menentukan yang baru UsingTasksebelum yang sudah ada, atau menentukan Override="true" di yang baru UsingTask.
Atribut dan elemen
Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.
Attributes
| Attribute | Description |
|---|---|
Architecture |
Atribut opsional. Menentukan bahwa tugas harus berjalan dalam proses bitness yang ditentukan. Jika proses saat ini tidak memenuhi persyaratan, tugas berjalan dalam proses host tugas yang melakukannya. Nilai yang didukung adalah x86 (32-bit), x64 (64-bit), CurrentArchitecture, dan * (arsitektur apa pun). |
AssemblyName |
AssemblyName Atribut atau AssemblyFile atribut diperlukan.Nama rakitan yang akan dimuat. Atribut AssemblyName menerima rakitan bernama kuat, meskipun penamaan yang kuat tidak diperlukan. Menggunakan atribut ini setara dengan memuat rakitan dengan menggunakan Load metode di .NET.Anda tidak dapat menggunakan atribut ini jika AssemblyFile atribut digunakan. |
AssemblyFile |
AssemblyName Atribut atau AssemblyFile diperlukan.Jalur file rakitan. Atribut ini menerima jalur lengkap atau jalur relatif. Jalur relatif relatif terhadap direktori file proyek atau file target tempat UsingTask elemen dideklarasikan. Menggunakan atribut ini setara dengan memuat rakitan dengan menggunakan LoadFrom metode di .NET.Anda tidak dapat menggunakan atribut ini jika AssemblyName atribut digunakan. |
Override |
Atribut opsional. Menentukan bahwa elemen ini UsingTask harus menjadi prioritas yang lebih tinggi daripada elemen lain yang menentukan nama tugas yang sama. Hanya satu penimpaan yang diizinkan per nama tugas. Ditambahkan dalam MSBuild 17.2. |
Runtime |
Atribut opsional. Menentukan runtime tugas harus berjalan di bawah. Jika proses MSBuild saat ini tidak memenuhi persyaratan, tugas berjalan dalam proses host tugas yang melakukannya. Nilai yang didukung adalah CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 atau lebih tinggi), CurrentRuntime, NET (.NET), dan * (runtime apa pun).
Runtime="NET" didukung mulai dari MSBuild 18.0 (.NET SDK 10/Visual Studio 2026) dan saat ini hanya didukung untuk proyek yang menggunakan Microsoft.NET.Sdk.
dotnet build (MSBuild versi .NET) tidak dapat menjalankan CLR2/CLR4 tugas. |
TaskFactory |
Atribut opsional. Menentukan kelas dalam rakitan yang bertanggung jawab untuk menghasilkan instans dari nama yang ditentukan Task . Pengguna juga dapat menentukan Task sebagai elemen turunan yang diterima dan digunakan pabrik tugas untuk menghasilkan tugas. Konten Task khusus untuk pabrik tugas. Defaultnya TaskFactory adalah AssemblyTaskFactory, yang memuat tugas ke dalam proses yang sedang berjalan. |
TaskName |
Atribut yang diperlukan. Nama tugas yang akan dirujuk dari rakitan. Jika ambiguitas memungkinkan, atribut ini harus selalu menentukan namespace lengkap. Jika ada ambiguitas, MSBuild memilih kecocokan arbitrer, yang dapat menghasilkan hasil yang tidak terduga. |
Condition |
Atribut opsional. Kondisi untuk dievaluasi. Untuk informasi selengkapnya, lihat Syarat-syarat. |
Elemen turunan
| Elemen | Description |
|---|---|
| ParameterGroup | Kumpulan parameter yang muncul pada tugas yang dihasilkan oleh yang ditentukan TaskFactory. |
| Tugas | Data yang diteruskan ke TaskFactory untuk menghasilkan instans tugas. |
Elemen induk
| Elemen | Description |
|---|---|
| Proyek | Elemen akar yang diperlukan dari file proyek MSBuild. |
Komentar
Variabel lingkungan, properti baris perintah, properti tingkat proyek, dan item tingkat proyek dapat direferensikan dalam elemen yang UsingTask disertakan dalam file proyek baik secara langsung atau melalui file proyek yang diimpor. Untuk informasi selengkapnya, lihat tugas .
Nota
Properti dan item tingkat proyek tidak memiliki arti jika UsingTask elemen berasal dari salah satu file .tasks yang terdaftar secara global dengan mesin MSBuild. Nilai tingkat proyek tidak global untuk MSBuild.
Di MSBuild 4.0, menggunakan tugas dapat dimuat dari .overridetask file.
Rakitan yang berisi tugas kustom dimuat saat Task pertama kali digunakan.
Contoh 1
Contoh berikut menunjukkan cara menggunakan UsingTask elemen dengan AssemblyFile atribut .
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />
Karena tidak Runtime ada atau TaskHost ditentukan, tugas dijalankan dalam proses MSBuild, dalam runtime dan arsitektur yang kebetulan berjalan untuk build tertentu.
Contoh 2
Contoh berikut menunjukkan cara menggunakan UsingTask elemen dengan AssemblyName atribut dan kustom TaskFactory yang ditentukan dalam rakitan tersebut.
<UsingTask TaskName="MyTask" AssemblyName="My.Assembly" TaskFactory="MyTaskFactory">
<ParameterGroup>
<Parameter1 ParameterType="System.String" Required="False" Output="False"/>
<Parameter2 ParameterType="System.Int" Required="True" Output="False"/>
...
</ParameterGroup>
<Task>
... Task factory-specific data ...
</Task>
</UsingTask>