Share via


Tugas Exec

Menjalankan program atau perintah yang ditentukan dengan menggunakan argumen yang ditentukan.

Parameter

Tabel berikut menjelaskan parameter untuk tugas tersebut Exec.

Parameter Deskripsi
Command Parameter String wajib.

Perintah yang akan dijalankan. Ini dapat berupa perintah sistem, seperti attrib, atau executable, seperti program.exe, runprogram.bat, atau setup.msi.

Parameter ini dapat berisi beberapa baris perintah. Atau, Anda dapat menempatkan beberapa perintah dalam file batch dan menjalankannya dengan menggunakan parameter ini.
ConsoleOutput Parameter output ITaskItem[] opsional.

Setiap output item adalah baris dari output standar atau aliran kesalahan standar yang dipancarkan oleh alat. Ini hanya diambil jika ConsoleToMsBuild diatur ke true.
ConsoleToMsBuild Parameter Boolean opsional.

Jika true, tugas akan menangkap kesalahan standar dan output standar alat dan membuatnya tersedia dalam parameter output ConsoleOutput.

Default: false.
CustomErrorRegularExpression Parameter String opsional.

Menentukan ekspresi reguler yang digunakan untuk melihat baris kesalahan dalam output alat. Ini berguna untuk alat yang menghasilkan output yang luar biasa diformat.

Default: null (tidak ada pemrosesan kustom).
CustomWarningRegularExpression Parameter String opsional.

Menentukan ekspresi reguler yang digunakan untuk melihat baris peringatan dalam output alat. Ini berguna untuk alat yang menghasilkan output yang luar biasa diformat.

Default: null (tidak ada pemrosesan kustom).
EchoOff Parameter Boolean opsional.

Jika true, tugas tidak akan memancarkan formulir Command yang diperluas ke log MSBuild.

Default: false.
ExitCode Parameter baca-saja output Int32 opsional.

Menentukan kode keluar yang disediakan oleh perintah yang dijalankan, kecuali bahwa jika tugas mencatat kesalahan apa pun, tetapi proses memiliki kode keluar 0 (berhasil), ExitCode diatur ke -1.
IgnoreExitCode Parameter Boolean opsional.

Jika true, tugas mengabaikan kode keluar yang disediakan oleh perintah yang dijalankan. Jika tidak, tugas akan mengembalikan false jika perintah yang dijalankan mengembalikan kode keluar bukan nol.

Default: false.
IgnoreStandardErrorWarningFormat Parameter Boolean opsional.

Jika false, memilih baris dalam output yang cocok dengan format kesalahan/peringatan standar, dan mencatatnya sebagai kesalahan/peringatan. Jika true, nonaktifkan perilaku ini.

Default: false.
Outputs Parameter output ITaskItem[] opsional.

Berisi item output dari tugas. Tugas Exec tidak mengaturnya sendiri. Sebagai gantinya, Anda dapat menyediakannya seolah-olah itu mengaturnya, sehingga dapat digunakan nanti dalam proyek.
StdErrEncoding Parameter output String opsional.

Menentukan pengodean aliran kesalahan standar tugas yang diambil. Defaultnya adalah pengodean output konsol saat ini.
StdOutEncoding Parameter output String opsional.

Menentukan pengodean aliran output standar tugas yang diambil. Defaultnya adalah pengodean output konsol saat ini.
UseUtf8Encoding Parameter String opsional.

Menentukan apakah akan menggunakan halaman kode UTF8 saat memproses baris perintah untuk perintah yang dijalankan. Nilai yang valid adalah Always, Never, atau Detect. Defaultnya adalah Detect, yang berarti menggunakan halaman kode UTF8 hanya ketika karakter non-ANSI ada.
WorkingDirectory Parameter String opsional.

Menentukan direktori tempat perintah akan dijalankan.

Default: Direktori kerja proyek saat ini.

Parameter ToolTaskExtension

Tugas ini mewarisi dari kelas ToolTaskExtension, yang mewarisi dari kelas ToolTask, yang mewarisi dari Task kelas itu sendiri. Rantai pewarisan ini menambahkan beberapa parameter ke tugas yang berasal dari tugas itu sendiri.

Tabel berikut ini menjelaskan parameter kelas dasar:

Parameter Deskripsi
EchoOff Parameter bool opsional.

Ketika diatur ke true, tugas ini meneruskan /Q ke baris perintahcmd.exe, sehingga baris perintah tidak disalin ke stdout.
EnvironmentVariables Parameter array String opsional.

Array definisi variabel lingkungan, dipisahkan oleh titik koma. Setiap definisi harus menentukan nama dan nilai variabel lingkungan yang dipisahkan oleh tanda sama dengan. Variabel-variabel ini diteruskan ke yang dapat dijalankan yang dihasilkan selain, atau secara selektif mengambil alih, blok lingkungan reguler. Misalnya, Variable1=Value1;Variable2=Value2.
ExitCode Parameter baca-saja output Int32 opsional.

Tentukan kode keluar yang disediakan oleh perintah yang dijalankan. Jika tugas mencatat kesalahan apa pun, tetapi prosesnya memiliki kode keluar 0 (berhasil), ini diatur ke -1.
LogStandardErrorAsError Parameter bool opsional.

Jika true, semua pesan yang diterima pada aliran kesalahan standar dicatat sebagai kesalahan.
StandardErrorImportance Parameter String opsional.

Pentingnya untuk mencatat teks dari aliran kesalahan standar.
StandardOutputImportance Parameter String opsional.

Pentingnya untuk mencatat teks dari aliran keluar standar.
Timeout Parameter Int32 opsional.

Menentukan jumlah waktu, dalam milidetik, yang setelahnya tugas yang dapat dieksekusi dihentikan. Nilai defaultnya adalah Int.MaxValue, menunjukkan bahwa tidak ada periode waktu habis. Waktu habis dalam milidetik.
ToolExe Parameter string opsional.

Proyek dapat menerapkan ini untuk mengambil alih ToolName. Tugas dapat mengambil alih ini untuk mempertahankan ToolName.
ToolPath Parameter string opsional.

Tentukan lokasi dari mana tugas memuat file eksekusi yang mendasarinya. Jika parameter ini tidak ditentukan, tugas menggunakan jalur penginstalan SDK yang sesuai dengan versi kerangka kerja yang menjalankan MSBuild.
UseCommandProcessor Parameter bool opsional.

Saat diatur ke true, tugas ini membuat file batch untuk baris perintah dan menjalankannya dengan menggunakan prosesor perintah alih-alih menjalankan perintah secara langsung.
YieldDuringToolExecution Parameter bool opsional.

Saat diatur ke true, tugas ini menghasilkan node saat tugasnya dijalankan.

Keterangan

Tugas ini berguna ketika tugas MSBuild tertentu untuk pekerjaan yang ingin Anda lakukan tidak tersedia. Namun, tugas Exec, tidak seperti tugas yang lebih spesifik, tidak dapat melakukan pemrosesan tambahan atau operasi kondisional berdasarkan hasil alat atau perintah yang dijalankannya.

Alih-alih langsung memanggil proses, Exec tugas memanggil cmd.exe di Windows, atau sh sebaliknya.

Parameter IgnoreExitCode dan IgnoreStandardErrorWarningFormat memengaruhi kondisi di mana tugas mengembalikan false, menunjukkan kesalahan. Dengan pengaturan default (false untuk keduanya), tugas Exec menunjukkan kegagalan (mengembalikan false) baik jika executable memiliki kode keluar bukan nol, atau jika pesan diagnostik ditemukan di aliran kesalahan standar yang dapat dieksekusi. Jika Anda hanya ingin Exec menunjukkan kegagalan jika executable mengembalikan kode keluar bukan nol, maka atur IgnoreStandardErrorWarningFormat ke true.

Contoh

Contoh berikut menggunakan tugas Exec untuk menjalankan perintah.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Binaries Include="*.dll;*.exe"/>
    </ItemGroup>

    <Target Name="SetACL">
        <!-- set security on binaries-->
        <Exec Command="echo y| cacls %(Binaries.Identity) /G everyone:R"/>
    </Target>
</Project>

Baca juga