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.
When you use MSBuild.exe to build a project or solution file, you can include several switches to specify various aspects of the process.
Setiap sakelar tersedia dalam dua bentuk: -switch dan /switch. Dokumentasi hanya memperlihatkan formulir -switch. Sakelar tidak peka huruf besar/kecil. Jika Anda menjalankan MSBuild dari shell selain prompt perintah Windows, daftar argumen ke sakelar (dipisahkan oleh titik koma atau koma) mungkin memerlukan tanda kutip tunggal atau ganda untuk memastikan bahwa daftar diteruskan ke MSBuild alih-alih ditafsirkan oleh shell.
The .NET CLI commands dotnet build, dotnet publish, dotnet msbuild and related commands pass these switches to MSBuild, so this reference is applicable when you use those commands; however dotnet run does not.
Syntax
MSBuild.exe [Switches] [ProjectFile]
Arguments
| Argument | Description |
|---|---|
ProjectFile |
Membangun target dalam file proyek yang Anda tentukan. If you don't specify a project file, MSBuild searches the current working directory for a file name extension that ends in proj and uses that file. Anda juga dapat menentukan file solusi Visual Studio untuk argumen ini. Di Visual Studio 17.12 dan yang lebih baru, format file solusi .slnx didukung, serta format .sln. File .sln dan .slnx untuk solusi yang sama dapat ada di direktori yang sama; jika keduanya ada, Anda harus secara eksplisit menentukan salah satunya untuk membangun solusi. |
Switches
Kolom pertama dalam tabel berikut ini memperlihatkan bentuk panjang dan pendek dari setiap sakelar. Kedua formulir setara.
Kurung siku [] menunjukkan bagian opsional, dan kurung kurawal {}menunjukkan nilai yang disediakan pengguna.
| Switch | Description |
|---|---|
-detailedSummary[:{True or False}]-ds[:{True or False}] |
Jika True, tampilkan informasi terperinci di akhir log build tentang konfigurasi yang dibuat dan bagaimana mereka dijadwalkan ke simpul. |
-getItem:{itemName,...} |
Tuliskan nilai item atau item setelah evaluasi, tanpa menjalankan build, atau jika opsi -targets atau opsi -getTargetResult digunakan, tulis nilai setelah build. |
-getProperty:{propertyName,...} |
Tuliskan nilai properti atau properti setelah evaluasi, tanpa mengeksekusi build, atau jika opsi -targets atau opsi -getTargetResult digunakan, tulis nilai setelah build. |
-getTargetResult:{targetName,...} |
Tuliskan nilai output dari target yang ditentukan. |
-graphBuild[:{True or False}]-graph[:{True or False}] |
Menyebabkan MSBuild membangun dan membangun grafik proyek. Membuat grafik melibatkan identifikasi referensi proyek untuk membentuk dependensi. Membangun grafik tersebut melibatkan upaya untuk membangun referensi proyek sebelum proyek yang mereferensikannya, berbeda dari penjadwalan MSBuild tradisional. Memerlukan MSBuild 16 atau yang lebih baru. |
-help/? atau -h |
Tampilkan informasi penggunaan. Perintah berikut adalah contoh:msbuild.exe -? |
-ignoreProjectExtensions: {extensions}-ignore: {extensions} |
Abaikan ekstensi yang ditentukan saat menentukan file proyek mana yang akan dibangun. Gunakan titik koma atau koma untuk memisahkan beberapa ekstensi, seperti yang ditunjukkan contoh berikut:-ignoreprojectextensions:.vcproj,.sln |
-inputResultsCaches[:{cacheFile; ...}]-irc[:{cacheFile; ...}] |
Daftar file cache input yang dipisahkan titik koma yang akan dibaca oleh MSBuild. Jika -isolateProjects diatur ke False, ini mengaturnya ke True. |
-interactive[:{True or False}] |
Menunjukkan bahwa tindakan dalam build diizinkan untuk berinteraksi dengan pengguna. Jangan gunakan argumen ini dalam skenario otomatis di mana interaktivitas tidak diharapkan. Menentukan -interactive sama dengan menentukan -interactive:true. Gunakan parameter untuk mengambil alih nilai yang berasal dari file respons. |
-isolateProjects[:{True, MessageUponIsolationViolation, False}]-isolate[:{True, MessageUponIsolationViolation, False}] |
Menyebabkan MSBuild membangun setiap proyek dalam isolasi. Ketika diatur ke MessageUponIsolationViolation (atau bentuk pendeknya Message), hanya hasil dari target tingkat atas yang diserialisasikan jika sakelar -outputResultsCache disediakan. Opsi ini adalah untuk mengurangi kemungkinan target yang melanggar isolasi pada proyek dependensi menggunakan status yang salah karena dependensinya pada target cache yang efek sampingnya tidak akan diperhitungkan. (Misalnya, definisi properti.) Mode ini lebih ketat, karena mengharuskan grafik proyek dapat ditemukan secara statis pada waktu evaluasi, tetapi dapat meningkatkan penjadwalan dan mengurangi overhead memori saat membangun serangkaian proyek yang besar. |
-lowPriority[:{True or False}]-low[:{True or False}] |
Menyebabkan MSBuild berjalan pada prioritas proses rendah. Menentukan -lowPriority sama dengan menentukan -lowPriority:True. |
-maxCpuCount[:{number}]-m[:{number}] |
Menentukan jumlah maksimum proses bersamaan yang akan digunakan saat membangun. Jika Anda tidak menyertakan sakelar ini, nilai defaultnya adalah 1. Jika Anda menyertakan sakelar ini tanpa menentukan nilai, MSBuild menggunakan hingga jumlah prosesor di komputer. Untuk informasi selengkapnya, lihat Membangun beberapa proyek secara paralel. Contoh berikut menginstruksikan MSBuild untuk membangun menggunakan tiga proses MSBuild, yang memungkinkan tiga proyek untuk dibangun secara bersamaan: msbuild myproject.proj -maxcpucount:3 |
-noAutoResponse-noautorsp |
Don't include any MSBuild.rsp or Directory.Build.rsp files automatically. |
-nodeReuse:{value}-nr:{value} |
Aktifkan atau nonaktifkan penggunaan kembali node MSBuild. Anda dapat menentukan nilai berikut: - True. Simpul tetap ada setelah build selesai sehingga build berikutnya dapat menggunakannya (default). - False. Simpul tidak tetap ada setelah build selesai. Simpul sesuai dengan proyek yang dijalankan. Jika Anda menyertakan sakelar -maxcpucount, beberapa simpul dapat dijalankan secara bersamaan. |
-nologo |
Jangan tampilkan banner startup atau pesan hak cipta. |
-preprocess[:{filepath}]
-pp[:{filepath}] |
Buat satu file proyek agregat dengan menginlin semua file yang akan diimpor selama build, dengan batas yang ditandai. Anda dapat menggunakan sakelar ini untuk lebih mudah menentukan file mana yang sedang diimpor, dari mana file diimpor, dan file mana yang berkontribusi pada build. Saat Anda menggunakan sakelar ini, proyek tidak dibuat. Jika Anda menentukan filepath, file proyek agregat adalah output ke file. Jika tidak, output muncul di jendela konsol.Untuk informasi tentang cara menggunakan elemen Import untuk menyisipkan file proyek ke file proyek lain, lihat Impor elemen (MSBuild) dan Cara: Menggunakan target yang sama dalam beberapa file proyek. |
-outputResultsCache[:{cacheFile}]-orc[:{cacheFile}] |
File cache output tempat MSBuild menulis konten cache hasil buildnya di akhir build. Jika -isolateProjects diatur ke False, ini mengaturnya ke True. |
profileEvaluation:{file} |
Memprofilkan evaluasi MSBuild dan menulis hasilnya ke file yang ditentukan. Jika ekstensi file yang ditentukan adalah '.md', hasilnya dihasilkan dalam format Markdown. Jika tidak, file yang dipisahkan tab diproduksi. |
-property:{name}={value}-p:{name}={value} |
Atur atau ambil alih properti tingkat proyek yang ditentukan, di mana name adalah nama properti dan value adalah nilai properti. Tentukan setiap properti secara terpisah, atau gunakan titik koma atau koma untuk memisahkan beberapa properti, seperti yang ditunjukkan contoh berikut:-property:WarningLevel=2;OutDir=bin\DebugLihat properti proyek Common MSBuild untuk daftar properti yang umum digunakan. Kumpulan lengkap properti yang tersedia tergantung pada jenis proyek, SDK, dan file yang diimpor. |
-restore-r |
Menjalankan target Restore sebelum membangun target aktual. |
-restoreProperty:{name}={value}-rp:{name}={value} |
Atur atau ambil alih properti tingkat proyek ini hanya selama pemulihan dan jangan gunakan properti yang ditentukan dengan argumen -property.
name adalah nama properti, dan value adalah nilai properti. Gunakan titik koma atau koma untuk memisahkan beberapa properti, atau tentukan setiap properti secara terpisah. |
-target:{targets}-t:{targets} |
Buat target yang ditentukan dalam proyek. Tentukan setiap target secara terpisah, atau gunakan titik koma atau koma untuk memisahkan beberapa target, seperti yang ditunjukkan contoh berikut:-target:PrepareResources;CompileJika Anda menentukan target apa pun dengan menggunakan sakelar ini, target dijalankan alih-alih target apa pun di atribut DefaultTargets dalam file proyek. Untuk informasi selengkapnya, lihat urutan build target dan Cara: Menentukan target mana yang akan dibangun terlebih dahulu.Target adalah sekelompok tugas. For more information, see Targets. |
-targets[:{file}]-ts[:{file}] |
Tulis daftar target yang tersedia ke file yang ditentukan (atau perangkat output, jika tidak ada file yang ditentukan), tanpa benar-benar menjalankan proses build. |
-toolsVersion:{version}-tv:{version} |
Menentukan set alat kustom. Set alat terdiri dari tugas, target, dan alat yang digunakan untuk membangun aplikasi. See Toolset (ToolsVersion) and Standard and custom toolset configurations. |
-validate:[{schema}]-val[{schema}] |
Validasi file proyek dan, jika validasi berhasil, bangun proyek. Jika Anda tidak menentukan schema, proyek divalidasi terhadap skema default.Jika Anda menentukan schema, proyek divalidasi terhadap skema yang Anda tentukan.Pengaturan berikut adalah contoh: -validate:MyExtendedBuildSchema.xsd |
-verbosity:{level}-v:{level} |
Menentukan jumlah informasi yang akan ditampilkan dalam log build. Setiap pencatat menampilkan peristiwa berdasarkan tingkat verbositas yang Anda tetapkan untuk pencatat tersebut. Anda dapat menentukan tingkat verbositas berikut: q[uiet], m[inimal], n[ormal] (default), d[etailed], dan diag[nostic].Pengaturan berikut adalah contoh: -verbosity:quiet |
-version-ver |
Tampilkan informasi versi saja. Proyek tidak dibangun. |
@{file} |
Sisipkan sakelar baris perintah dari file teks. Jika Anda memiliki beberapa file, Anda menentukannya secara terpisah. For more information, see Response files. |
-warnAsError[:{code; ...}]-err[:{code; ...}] |
Daftar kode peringatan untuk diperlakukan sebagai kesalahan. Gunakan titik koma atau koma untuk memisahkan beberapa kode peringatan. Untuk memperlakukan semua peringatan sebagai kesalahan, gunakan sakelar tanpa nilai. Ketika peringatan diperlakukan sebagai kesalahan, target terus dijalankan seolah-olah itu adalah peringatan, tetapi build keseluruhan gagal. Contoh: -err:MSB4130 |
-warnNotAsError[:{code; ...}]-noerr[:{code; ...}] |
MSBuild 17.0 dan yang lebih baru. Daftar kode peringatan yang seharusnya tidak dipromosikan ke kesalahan. Secara khusus, jika sakelar warnAsError diatur untuk mempromosikan semua peringatan ke kesalahan, kode kesalahan yang ditentukan dengan warnNotAsError tidak dipromosikan. Ini tidak berpengaruh jika warnAsError tidak diatur untuk mempromosikan semua peringatan ke kesalahan. Gunakan titik koma atau koma untuk memisahkan beberapa kode peringatan. Contoh: -noerr:MSB4130 |
-warnAsMessage[:{code}; ...}]-noWarn[:{code; ...}] |
Daftar kode peringatan untuk diperlakukan sebagai pesan kepentingan rendah. Gunakan titik koma atau koma untuk memisahkan beberapa kode peringatan. Contoh: -noWarn:MSB3026 |
Beralih untuk pencatat
| Switch | Description |
|---|---|
-binaryLogger[:[LogFile=]{output.binlog}[;ProjectImports=None,Embed,ZipFile]]-bl[:[LogFile=]{output.binlog}[;ProjectImports=None,Embed,ZipFile]] |
Menserialisasikan semua peristiwa build ke file biner terkompresi. By default the file is in the current directory and named msbuild.binlog. Parameter opsional LogFile menerima string formulir {filename}.binlog, di mana {filename} berisi karakter sistem file yang valid, tetapi juga menerima simbol {}tempat penampung . Jika {} disediakan, MSBuild akan mengisi posisi tersebut dengan 'stempel unik' formulir yyyyMMdd-HHmmss--<current process id>--<6-character random string>. Log biner adalah deskripsi terperinci tentang proses build yang nantinya dapat digunakan untuk merekonstruksi log teks dan digunakan oleh alat analisis lainnya. Log biner biasanya 10-20x lebih kecil dari log tingkat diagnostik teks yang paling rinci, tetapi berisi lebih banyak informasi.Pencatat biner secara default mengumpulkan teks sumber file proyek, termasuk semua proyek yang diimpor dan file target yang ditemui selama build. Parameter ProjectImports opsional mengontrol perilaku ini:- ProjectImports=None. Jangan kumpulkan impor proyek. - ProjectImports=Embed. Sematkan impor proyek dalam file log (default). - ProjectImports=ZipFile. Save project files to {output}.projectimports.zip where <output> is the same name as the binary log file name. Pengaturan default untuk ProjectImports adalah Embed. Note: the logger doesn't collect non-MSBuild source files such as .cs, .cpp, and so on.A .binlog file can be "played back" by passing it to msbuild.exe as an argument instead of a project/solution. Pencatat lain menerima informasi yang terkandung dalam file log seolah-olah build asli terjadi. Anda dapat membaca lebih lanjut tentang log biner dan penggunaannya di gambaran umum MSBuild Binary Log. Examples: - -bl- -bl:output.binlog- -bl:output.binlog;ProjectImports=None- -bl:output.binlog;ProjectImports=ZipFile- -bl:..\..\custom.binlog- -bl:publish-{}.binlog- -binaryLogger |
-consoleLoggerParameters:{parameters}-clp:{parameters} |
Teruskan parameter yang Anda tentukan ke pencatat konsol, yang menampilkan informasi build di jendela konsol. Anda dapat menentukan parameter berikut: - PerformanceSummary. Perlihatkan waktu yang dihabiskan dalam tugas, target, dan proyek. - Summary. Tampilkan ringkasan kesalahan dan peringatan di akhir. - NoSummary. Jangan tampilkan ringkasan kesalahan dan peringatan di akhir. - ErrorsOnly. Perlihatkan hanya kesalahan. - WarningsOnly. Perlihatkan hanya peringatan. - NoItemAndPropertyList. Jangan tampilkan daftar item dan properti yang akan muncul di awal setiap build proyek jika tingkat verbositas diatur ke diagnostic.- ShowCommandLine. Tampilkan pesan TaskCommandLineEvent.- ShowProjectFile. Tampilkan jalur ke file proyek dalam pesan diagnostik. Pengaturan ini aktif secara default. - ShowTimestamp. Perlihatkan tanda waktu sebagai awalan untuk pesan apa pun. - ShowEventId. Tampilkan ID peristiwa untuk setiap peristiwa yang dimulai, peristiwa selesai, dan pesan. - ForceNoAlign. Jangan ratakan teks ke ukuran buffer konsol. - DisableConsoleColor. Gunakan warna konsol default untuk semua pesan pengelogan. - DisableMPLogging. Nonaktifkan gaya pengelogan multiproscessor output saat berjalan dalam mode non-multiproscessor. - EnableMPLogging. Aktifkan gaya pengelogan multiproscessor bahkan saat berjalan dalam mode non-multiproscessor. Gaya pengelogan ini aktif secara default. - ForceConsoleColor. Gunakan warna konsol ANSI meskipun konsol tidak mendukungnya. - Verbosity. Ambil alih pengaturan -verbosity untuk pencatat ini.Gunakan titik koma untuk memisahkan beberapa parameter, seperti yang ditunjukkan contoh berikut: -consoleLoggerParameters:PerformanceSummary;NoSummary -verbosity:minimalPencatat konsol default berada pada verbositas normal dan menyertakan Summary. |
-distributedFileLogger-dfl |
Catat output build dari setiap node MSBuild ke filenya sendiri. Lokasi awal untuk file-file ini adalah direktori saat ini. By default, the files are named MSBuild{NodeId}.log. Anda dapat menggunakan sakelar -fileLoggerParameters untuk menentukan lokasi file dan parameter lain untuk fileLogger.Jika Anda memberi nama file log dengan menggunakan sakelar -fileLoggerParameters, pencatat terdistribusi menggunakan nama tersebut sebagai templat dan menambahkan ID simpul ke nama tersebut saat membuat file log untuk setiap simpul. |
-distributedLogger:{central logger},{forwarding logger}, ...-dl:{central logger},{forwarding logger, ...} |
Mencatat peristiwa dari MSBuild, melampirkan instans pencatat yang berbeda ke setiap simpul. Untuk menentukan beberapa pencatat, tentukan setiap pencatat secara terpisah. Anda menggunakan sintaks pencatat untuk menentukan pencatat, kecuali Anda menyediakan dan kelas tambahan untuk pencatat penerusan. Untuk sintaks pencatat, lihat sakelar -logger.Contoh berikut menunjukkan cara menggunakan sakelar ini: -dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral-dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
-fileLogger[{number}]-fl[{number}] |
Catat output build ke satu file di direktori saat ini. If you don't specify number, the output file is named msbuild.log. Jika Anda menentukan number, file output diberi nama msbuild<n>.log, di mana <n>number.
Number bisa berupa digit dari 1 hingga 9.Anda dapat menggunakan sakelar -fileLoggerParameters untuk menentukan lokasi file dan parameter lain untuk fileLogger. |
-fileLoggerParameters[{number}]:parameters-flp[{number}]: {parameters} |
Menentukan parameter tambahan untuk pencatat file dan pencatat file terdistribusi. Kehadiran sakelar ini menyiratkan bahwa sakelar -filelogger[number] yang sesuai ada.
Number bisa berupa digit dari 1 hingga 9.Anda dapat menggunakan semua parameter yang tercantum untuk -consoleloggerparameters. Anda juga dapat menggunakan satu atau beberapa parameter berikut:- LogFile. Jalur ke file log tempat log build ditulis. Pencatat file terdistribusi mengawali jalur ini ke nama file lognya. - Append. Menentukan apakah log build ditambahkan ke file log atau menimpanya. Saat Anda mengatur sakelar, log build ditambahkan ke file log. Saat sakelar tidak ada, konten file log yang ada akan ditimpa. Contoh: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;appendJika Anda menyertakan pengaturan true atau false eksplisit, log ditambahkan terlepas dari pengaturannya. Jika Anda tidak menyertakan sakelar penambah, log akan ditimpa.Dalam hal ini, file ditimpa: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.logDalam hal ini, file ditambahkan: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=trueDalam hal ini, file ditambahkan: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=false- Encoding. Menentukan pengodean untuk file (misalnya, UTF-8, Unicode, atau ASCII). Contoh berikut menghasilkan file log terpisah untuk peringatan dan kesalahan: -flp1:logfile=errors.txt;errorsonly -flp2:logfile=warnings.txt;warningsonlyContoh berikut menunjukkan kemungkinan lain: -fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8-flp:Summary;Verbosity=minimal;LogFile=msbuild.sum-flp1:warningsonly;logfile=msbuild.wrn-flp2:errorsonly;logfile=msbuild.err |
-logger:logger-l:logger |
Menentukan pencatat yang akan digunakan untuk mencatat peristiwa dari MSBuild. Untuk menentukan beberapa pencatat, tentukan setiap pencatat secara terpisah. Gunakan sintaks berikut untuk logger: [LoggerClass,]LoggerAssembly[;LoggerParameters]Gunakan sintaks berikut untuk LoggerClass: [PartialOrFullNamespace.]LoggerClassNameAnda tidak perlu menentukan kelas pencatat jika rakitan berisi tepat satu pencatat. Gunakan sintaks berikut untuk LoggerAssembly: AssemblyName[,StrongName] \| AssemblyFileParameter pencatat bersifat opsional dan diteruskan ke pencatat persis saat Anda memasukkannya. Contoh berikut menggunakan sakelar -logger.-logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral-logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
-noConsoleLogger-noconlog |
Nonaktifkan pencatat konsol default, dan jangan mencatat peristiwa ke konsol. |
-terminalLogger[:auto,on,off]-tl[:auto,on,off] |
Enable or disable the terminal logger. Pencatat terminal menyediakan output build yang ditingkatkan pada konsol secara real time, diatur secara logis menurut proyek, dan dirancang untuk menyoroti informasi yang dapat ditindaklanjuti. Tentukan auto (atau gunakan opsi tanpa argumen) untuk menggunakan pencatat terminal hanya jika output standar tidak dialihkan. Jangan mengurai output atau mengandalkan output tersebut tetap tidak berubah dalam versi mendatang. Opsi ini tersedia di MSBuild 17.8 dan yang lebih baru. |
Example
The following example builds the rebuild target of the MyProject.proj project.
MSBuild.exe MyProject.proj -t:rebuild